From 8c628ddf602f911750c57d260d7881cafdf2ec6f Mon Sep 17 00:00:00 2001 From: Spencer Killen Date: Sun, 27 Sep 2026 00:06:11 -0600 Subject: [PATCH] . --- Troup.tscn | 1 + currency/sentient/archer.tres | 2 ++ currency/sentient/calvary.tres | 2 ++ currency/sentient/dinosaur.tres | 2 ++ currency/sentient/doctor.tres | 2 ++ currency/sentient/kings_guard.tres | 2 ++ currency/sentient/knight.tres | 2 ++ currency/sentient/mercenary.tres | 2 ++ currency/sentient/messenger.tres | 2 ++ currency/sentient/miner.tres | 2 ++ currency/sentient/spy.tres | 2 ++ currency/sentient/town_crier.tres | 2 ++ currency/sentient/wizard.tres | 2 ++ troup.gd | 17 ++++++++++++----- user_context.gd | 9 +++++++++ 15 files changed, 46 insertions(+), 5 deletions(-) diff --git a/Troup.tscn b/Troup.tscn index 38caa23..0792db2 100644 --- a/Troup.tscn +++ b/Troup.tscn @@ -16,6 +16,7 @@ position = Vector2(50, 49) shape = SubResource("RectangleShape2D_riqys") [node name="MemberSprite" parent="." unique_id=283117283 instance=ExtResource("2_v0at3")] +unique_name_in_owner = true instance_shader_parameters/border_color = Color(1, 0, 0, 1) instance_shader_parameters/border_width = 0.16 instance_shader_parameters/fill_color = Color(1, 0.7529412, 0.79607844, 1) diff --git a/currency/sentient/archer.tres b/currency/sentient/archer.tres index a6c843e..6ff9ae0 100644 --- a/currency/sentient/archer.tres +++ b/currency/sentient/archer.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://l8osuuxl7exe"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_227pm"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_e7gnr"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_m37xt"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_b0duy"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_k5pub"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_k672a"] [ext_resource type="Resource" uid="uid://b8b6yr444ecdk" path="res://currency/inanimate/water.tres" id="5_2kil6"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="6_qqxwu"] diff --git a/currency/sentient/calvary.tres b/currency/sentient/calvary.tres index 7b804f0..ee61a95 100644 --- a/currency/sentient/calvary.tres +++ b/currency/sentient/calvary.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dlxnbyiurne1s"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_2uxum"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_cnnt2"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_o1w50"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_hqcau"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_npspm"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_lyu7q"] [ext_resource type="Resource" uid="uid://b8b6yr444ecdk" path="res://currency/inanimate/water.tres" id="5_fxi61"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="6_vf3g1"] diff --git a/currency/sentient/dinosaur.tres b/currency/sentient/dinosaur.tres index c3b5d8b..aba434f 100644 --- a/currency/sentient/dinosaur.tres +++ b/currency/sentient/dinosaur.tres @@ -1,7 +1,9 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://clx8tbrad4m7c"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_0dcki"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_eu6eo"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_qayfp"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_3kirj"] [ext_resource type="Resource" uid="uid://6xylw7p78fvf" path="res://currency/sentient/wizard.tres" id="3_2x36w"] [ext_resource type="Texture2D" uid="uid://c4snl0k8eu4n5" path="res://thumbnails/dino.jpg" id="3_bufop"] [ext_resource type="Resource" uid="uid://dfj4jwdmff6bu" path="res://currency/sentient/spy.tres" id="4_bufop"] diff --git a/currency/sentient/doctor.tres b/currency/sentient/doctor.tres index 45d75de..b1db9f8 100644 --- a/currency/sentient/doctor.tres +++ b/currency/sentient/doctor.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://b1tgtujqs5lnr"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_8u0th"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_hu81m"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_ohece"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_u3n2t"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_w0d8m"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_yv5d2"] [ext_resource type="Texture2D" uid="uid://bbcjo350ne8pv" path="res://thumbnails/doctor.jpg" id="5_e68kt"] [ext_resource type="Resource" uid="uid://crnhu4w6lfopb" path="res://currency/inanimate/beer.tres" id="6_r8lqy"] diff --git a/currency/sentient/kings_guard.tres b/currency/sentient/kings_guard.tres index 2894fc9..8a3e456 100644 --- a/currency/sentient/kings_guard.tres +++ b/currency/sentient/kings_guard.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://cwpk5e2exbgcr"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_1ptox"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_f1fuf"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_y7sat"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_s3h3i"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_t2htw"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_3jtdd"] [ext_resource type="Resource" uid="uid://bnlnq4ucsgfxe" path="res://currency/inanimate/gold.tres" id="5_bom44"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="6_y0tsi"] diff --git a/currency/sentient/knight.tres b/currency/sentient/knight.tres index 40f8523..cfd145e 100644 --- a/currency/sentient/knight.tres +++ b/currency/sentient/knight.tres @@ -1,6 +1,8 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://ihsvxienxbeu"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_626vc"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_ds1y1"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_gpemk"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_sa77c"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_xhy5h"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="4_7d8n3"] diff --git a/currency/sentient/mercenary.tres b/currency/sentient/mercenary.tres index 255accb..d8678b6 100644 --- a/currency/sentient/mercenary.tres +++ b/currency/sentient/mercenary.tres @@ -2,6 +2,8 @@ [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_81xhi"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_m8i4c"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_vs85s"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_ul3xr"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_x1puw"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_yveov"] [ext_resource type="Resource" uid="uid://bnlnq4ucsgfxe" path="res://currency/inanimate/gold.tres" id="5_p4ceb"] diff --git a/currency/sentient/messenger.tres b/currency/sentient/messenger.tres index 6942b1a..994dacb 100644 --- a/currency/sentient/messenger.tres +++ b/currency/sentient/messenger.tres @@ -2,6 +2,8 @@ [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_egwdx"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_iy37t"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_mf0hi"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_0uhpw"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_demtt"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_mxgt6"] [ext_resource type="Resource" uid="uid://bnlnq4ucsgfxe" path="res://currency/inanimate/gold.tres" id="5_rq11v"] diff --git a/currency/sentient/miner.tres b/currency/sentient/miner.tres index 8053b70..c363384 100644 --- a/currency/sentient/miner.tres +++ b/currency/sentient/miner.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dpaj2dk3qm7ow"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_phc4h"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_tbpph"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_yn73g"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_8h62s"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_t4qyg"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_2kvuq"] [ext_resource type="Resource" uid="uid://b8b6yr444ecdk" path="res://currency/inanimate/water.tres" id="5_eaivi"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="6_4664q"] diff --git a/currency/sentient/spy.tres b/currency/sentient/spy.tres index 6dfa9d0..ce9eac4 100644 --- a/currency/sentient/spy.tres +++ b/currency/sentient/spy.tres @@ -1,8 +1,10 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dfj4jwdmff6bu"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_ou6ev"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_wnwuo"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_wync1"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_30yvg"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_jpoxk"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_pvkom"] [ext_resource type="Resource" uid="uid://bnlnq4ucsgfxe" path="res://currency/inanimate/gold.tres" id="5_ssejx"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="6_dmqey"] diff --git a/currency/sentient/town_crier.tres b/currency/sentient/town_crier.tres index ab683bb..2b485ea 100644 --- a/currency/sentient/town_crier.tres +++ b/currency/sentient/town_crier.tres @@ -2,7 +2,9 @@ [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_0qymk"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_an3bl"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_urykh"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_0o8mq"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_lqdse"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_xknsl"] [ext_resource type="Resource" uid="uid://ervsee7ku1i2" path="res://currency/inanimate/bread.tres" id="5_hkj46"] [ext_resource type="Resource" uid="uid://b7vjuqkog7cxd" path="res://currency/inanimate/wood.tres" id="6_s7hyh"] diff --git a/currency/sentient/wizard.tres b/currency/sentient/wizard.tres index a509853..9cd964f 100644 --- a/currency/sentient/wizard.tres +++ b/currency/sentient/wizard.tres @@ -1,7 +1,9 @@ [gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://6xylw7p78fvf"] [ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_05kyk"] +[ext_resource type="Script" uid="uid://cn8rc6jyllrf0" path="res://command.gd" id="1_fu5ce"] [ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_tds6s"] +[ext_resource type="Resource" uid="uid://u6lls6n0xw3n" path="res://commands/move_command.tres" id="2_rx02f"] [ext_resource type="Resource" uid="uid://boshkhnywnk27" path="res://currency/production/human_production_shared_1.tres" id="2_ud150"] [ext_resource type="Resource" uid="uid://mgb7y1r3eapq" path="res://currency/production/human_production_shared_2.tres" id="3_mp872"] [ext_resource type="Resource" uid="uid://crnhu4w6lfopb" path="res://currency/inanimate/beer.tres" id="5_g2km3"] diff --git a/troup.gd b/troup.gd index c0b416e..9cf6c83 100644 --- a/troup.gd +++ b/troup.gd @@ -5,12 +5,19 @@ const SPEED = 100.0 const JUMP_VELOCITY = -400.0 @export var target : Node2D +func _ready() -> void: + UserContext. set_target_for . connect(set_target_for) + +func set_target_for(who: CurrencyMemberSprite, t: Node2D): + if %MemberSprite == who: + if target != null: + target.tree_exiting.disconnect(removed_target) + t.tree_exiting.connect(removed_target) + target = t + +func removed_target(): + target = null -func _get_target(event) -> void: - if target != null: - return - if UserContext.selected_member == self: - pass #func _Direction() -> Vector2: #self.position = self.position.move_toward(target.transform.position, speed * delta) diff --git a/user_context.gd b/user_context.gd index d9989ea..2c771e7 100644 --- a/user_context.gd +++ b/user_context.gd @@ -8,6 +8,7 @@ signal member_inspect(c: CurrencyMemberSprite) @warning_ignore("unused_signal") signal open_inbox +signal set_target_for(who: CurrencyMemberSprite, target: Node2D) var selected_member: CurrencyMemberSprite = null var focused_members: Array[CurrencyMemberSprite] = [] @@ -20,7 +21,15 @@ func modal(c: Command): modal_command = c modal_command_change.emit(c) + + func select_focused_member(): + if modal_command is MoveCommand: + if focused_member() == selected_member: + modal(null) + return + set_target_for.emit(selected_member, focused_member()) + return var candidate := focused_member() if candidate == null: return