diff --git a/CameraMove.gd b/CameraMove.gd new file mode 100644 index 0000000..501c2ab --- /dev/null +++ b/CameraMove.gd @@ -0,0 +1,37 @@ +extends Camera2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass + + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var mouse: = get_viewport().get_mouse_position() + var size: = get_viewport().get_visible_rect().size + if (mouse.x < (0.10*size.x)): + position.x -= 3 + elif (mouse.x > (0.90*size.x)): + position.x += 3 + + if (mouse.y < (0.10*size.y)): + position.y -= 3 + elif (mouse.y > (0.90*size.y)): + position.y += 3 + +func _input(event): + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_WHEEL_UP and event.pressed: + + zoom.x +=1 + zoom.y +=1 + + elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN and event.pressed: + + zoom.x -=1 + zoom.y -=1 + + + diff --git a/CameraMove.gd.uid b/CameraMove.gd.uid new file mode 100644 index 0000000..8096148 --- /dev/null +++ b/CameraMove.gd.uid @@ -0,0 +1 @@ +uid://ws5ruc64db3v diff --git a/Map/EHAP_map.png b/Map/EHAP_map.png new file mode 100644 index 0000000..19c132b --- /dev/null +++ b/Map/EHAP_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692f1c2aa574fdc74664a72d034ec01f1cfe68977fcb3dc50bf7042561687f5d +size 965282 diff --git a/Map/EHAP_map.png.import b/Map/EHAP_map.png.import new file mode 100644 index 0000000..411a72b --- /dev/null +++ b/Map/EHAP_map.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bntb4uxiugjq3" +path="res://.godot/imported/EHAP_map.png-b029a0a0b09d67741377398e7d614575.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Map/EHAP_map.png" +dest_files=["res://.godot/imported/EHAP_map.png-b029a0a0b09d67741377398e7d614575.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/currency/EHAP_map.png b/currency/EHAP_map.png new file mode 100644 index 0000000..19c132b --- /dev/null +++ b/currency/EHAP_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692f1c2aa574fdc74664a72d034ec01f1cfe68977fcb3dc50bf7042561687f5d +size 965282 diff --git a/currency/EHAP_map.png.import b/currency/EHAP_map.png.import new file mode 100644 index 0000000..a733d82 --- /dev/null +++ b/currency/EHAP_map.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8lqq14trnf5u" +path="res://.godot/imported/EHAP_map.png-b1025cc065bdc97d744b65efd6468a03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://currency/EHAP_map.png" +dest_files=["res://.godot/imported/EHAP_map.png-b1025cc065bdc97d744b65efd6468a03.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/currency/members/MemberSprite.tscn b/currency/members/MemberSprite.tscn index ca3969e..059c0b9 100644 --- a/currency/members/MemberSprite.tscn +++ b/currency/members/MemberSprite.tscn @@ -8,19 +8,11 @@ shader = ExtResource("1_tm326") [sub_resource type="CanvasTexture" id="CanvasTexture_wgite"] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_4sc8i"] -resource_local_to_scene = true - [node name="MemberSprite" type="TextureRect" unique_id=283117283] material = SubResource("ShaderMaterial_tm326") +mouse_default_cursor_shape = 2 texture = SubResource("CanvasTexture_wgite") script = ExtResource("2_5ifiv") -[node name="Area2D" type="Area2D" parent="." unique_id=1371993311] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=894062478] -unique_name_in_owner = true -shape = SubResource("RectangleShape2D_4sc8i") - -[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] -[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"] +[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/currency/members/member_sprite.gd b/currency/members/member_sprite.gd index ca29cfe..49413e1 100644 --- a/currency/members/member_sprite.gd +++ b/currency/members/member_sprite.gd @@ -8,19 +8,17 @@ func _ready() -> void: sync() func sync(): - set_instance_shader_parameter("border_color", allegiance.color) - set_instance_shader_parameter("fill_color", currency.color) - %CollisionShape2D.shape.size = custom_minimum_size + if allegiance != null: + set_instance_shader_parameter("border_color", allegiance.color) + if currency != null: + set_instance_shader_parameter("fill_color", currency.color) - -func _on_area_2d_mouse_entered() -> void: +func _on_mouse_entered() -> void: UserContext.focus_member(self) - - -func _on_area_2d_mouse_exited() -> void: + +func _on_mouse_exited() -> void: UserContext.unfocus_member(self) -func _unhandled_input(event: InputEvent) -> void: +func _input(event: InputEvent) -> void: if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: - pass - + UserContext.select_focused_member() diff --git a/letters/generator.gd b/letters/generator.gd new file mode 100644 index 0000000..4249efa --- /dev/null +++ b/letters/generator.gd @@ -0,0 +1 @@ +extends Resource diff --git a/letters/generator.gd.uid b/letters/generator.gd.uid new file mode 100644 index 0000000..bc39621 --- /dev/null +++ b/letters/generator.gd.uid @@ -0,0 +1 @@ +uid://7xeokq847s6t diff --git a/letters/generators/drunk.gd b/letters/generators/drunk.gd new file mode 100644 index 0000000..fae2c76 --- /dev/null +++ b/letters/generators/drunk.gd @@ -0,0 +1,11 @@ +extends Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/letters/generators/drunk.gd.uid b/letters/generators/drunk.gd.uid new file mode 100644 index 0000000..705e0ea --- /dev/null +++ b/letters/generators/drunk.gd.uid @@ -0,0 +1 @@ +uid://du678iprs4rm2 diff --git a/map.tscn b/map.tscn new file mode 100644 index 0000000..6479ee5 --- /dev/null +++ b/map.tscn @@ -0,0 +1,18 @@ +[gd_scene format=3 uid="uid://bdk1r2u8clllr"] + +[ext_resource type="Texture2D" uid="uid://bntb4uxiugjq3" path="res://Map/EHAP_map.png" id="1_c7s6e"] +[ext_resource type="Script" uid="uid://ws5ruc64db3v" path="res://CameraMove.gd" id="2_wijl4"] + +[node name="Node2D" type="Node2D" unique_id=575553336] + +[node name="EhapMap" type="Sprite2D" parent="." unique_id=26962123] +position = Vector2(966, -28) +texture = ExtResource("1_c7s6e") + +[node name="Camera2D" type="Camera2D" parent="." unique_id=1974259721] +position = Vector2(582, 1260) +limit_left = 6 +limit_top = -1648 +limit_right = 1926 +limit_bottom = 1592 +script = ExtResource("2_wijl4") diff --git a/member_inspector_panel.gd b/member_inspector_panel.gd new file mode 100644 index 0000000..c5cf846 --- /dev/null +++ b/member_inspector_panel.gd @@ -0,0 +1,10 @@ +extends "res://gui/currency_inspector_panel.gd" + +@export var member: CurrencyMemberSprite + +func _ready() -> void: + UserContext.member_inspect.connect(member_inspect) + +func member_inspect(m: CurrencyMemberSprite): + member = m + currency = m.currency diff --git a/member_inspector_panel.gd.uid b/member_inspector_panel.gd.uid new file mode 100644 index 0000000..572b413 --- /dev/null +++ b/member_inspector_panel.gd.uid @@ -0,0 +1 @@ +uid://cjhnvflx56hjj diff --git a/member_inspector_panel.tscn b/member_inspector_panel.tscn new file mode 100644 index 0000000..6b2ea77 --- /dev/null +++ b/member_inspector_panel.tscn @@ -0,0 +1,7 @@ +[gd_scene format=3 uid="uid://dsmh4uua1avgp"] + +[ext_resource type="PackedScene" uid="uid://75htlmk51oo" path="res://gui/currency_inspector_panel.tscn" id="1_x0sea"] +[ext_resource type="Script" uid="uid://cjhnvflx56hjj" path="res://member_inspector_panel.gd" id="2_yfo1o"] + +[node name="MemberInspectorPanel" unique_id=169191981 instance=ExtResource("1_x0sea")] +script = ExtResource("2_yfo1o") diff --git a/test/test_economy.tscn b/test/test_economy.tscn index 5015336..ec20e7e 100644 --- a/test/test_economy.tscn +++ b/test/test_economy.tscn @@ -75,7 +75,7 @@ layout_mode = 1 [node name="MemberSprite" parent="." unique_id=283117283 instance=ExtResource("6_vua3v")] instance_shader_parameters/border_color = Color(1, 0, 0, 1) instance_shader_parameters/border_width = 0.16 -instance_shader_parameters/fill_color = Color(0, 1, 0, 1) +instance_shader_parameters/fill_color = Color(1, 0.7529412, 0.79607844, 1) custom_minimum_size = Vector2(100, 100) layout_mode = 0 offset_left = 426.0 @@ -88,3 +88,5 @@ allegiance = ExtResource("8_i7808") [connection signal="pressed" from="Control/VBoxContainer/GetCow" to="." method="_on_get_cow_pressed"] [connection signal="pressed" from="Control/VBoxContainer/RunSimulate" to="." method="_on_run_simulate_pressed"] [connection signal="pressed" from="Control/VBoxContainer/OpenInbox" to="." method="_on_open_inbox_pressed"] + +[editable path="MemberSprite"] diff --git a/user_context.gd b/user_context.gd index aebb3c1..15e96e7 100644 --- a/user_context.gd +++ b/user_context.gd @@ -3,24 +3,33 @@ extends Node @warning_ignore("unused_signal") signal currency_inspect(c: Currency) +@warning_ignore("unused_signal") +signal member_inspect(c: CurrencyMemberSprite) + @warning_ignore("unused_signal") signal open_inbox +var selected_member: CurrencyMemberSprite = null var focused_members: Array[CurrencyMemberSprite] = [] -signal focused_member_change(current: CurrencyMemberSprite) +signal selected_member_change(current: CurrencyMemberSprite) -#func focused_member() -> Cur +func select_focused_member(): + var candidate := focused_member() + if candidate == null: + return + selected_member = candidate + selected_member_change.emit(selected_member) + +func focused_member() -> CurrencyMemberSprite: + if focused_members.size() == 0: + return null + return focused_members[focused_members.size()-1] func focus_member(member: CurrencyMemberSprite): focused_members.append(member) - focused_member_change.emit(member) func unfocus_member(member: CurrencyMemberSprite): var i := focused_members.find(member) if i == -1: return focused_members.remove_at(i) - if focused_members.size(): - focused_member_change.emit(focused_members[focused_members.size()-1]) - else: - focused_member_change.emit(null)