From e7111384130f5e6ffa53f569b22b44962a04006e Mon Sep 17 00:00:00 2001 From: Spencer Killen Date: Sat, 26 Sep 2026 19:28:23 -0600 Subject: [PATCH] . --- gui/currency_inspector_panel.gd | 4 ++++ member_inspector_panel.gd | 24 +++++++++++++++++++++++- member_inspector_panel.tscn | 28 ++++++++++++++++++++++++++++ project.godot | 1 + test/test_economy.tscn | 6 ++++++ user_context.gd | 1 + 6 files changed, 63 insertions(+), 1 deletion(-) diff --git a/gui/currency_inspector_panel.gd b/gui/currency_inspector_panel.gd index f3e5eb5..b1a9d1e 100644 --- a/gui/currency_inspector_panel.gd +++ b/gui/currency_inspector_panel.gd @@ -4,8 +4,12 @@ var currency: Currency = null func _ready() -> void: UserContext.currency_inspect.connect(currency_inspect) + UserContext.member_inspect.connect(member_inspect) update() +func member_inspect(_m: CurrencyMemberSprite): + visible = false + func currency_inspect(c: Currency): currency = c update() diff --git a/member_inspector_panel.gd b/member_inspector_panel.gd index c5cf846..3e91e2d 100644 --- a/member_inspector_panel.gd +++ b/member_inspector_panel.gd @@ -3,8 +3,30 @@ extends "res://gui/currency_inspector_panel.gd" @export var member: CurrencyMemberSprite func _ready() -> void: + UserContext.currency_inspect.connect(currency_inspect) UserContext.member_inspect.connect(member_inspect) - + update() + func member_inspect(m: CurrencyMemberSprite): + if member != null: + member.tree_exiting.disconnect(member_left) member = m currency = m.currency + m.tree_exiting.connect(member_left) + update() + +func member_left(): + member = null + visible = false + +func currency_inspect(_c: Currency): + visible = false + +func update(): + super() + if member != null: + %Allegiance.text = member.allegiance.kingdom_name + %CurrencyMemberSprite.currency = member.currency + %CurrencyMemberSprite.allegiance = member.allegiance + %CurrencyMemberSprite.sync() + diff --git a/member_inspector_panel.tscn b/member_inspector_panel.tscn index 6b2ea77..ebf1bbb 100644 --- a/member_inspector_panel.tscn +++ b/member_inspector_panel.tscn @@ -2,6 +2,34 @@ [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"] +[ext_resource type="PackedScene" uid="uid://coebykrbnhlif" path="res://currency/members/MemberSprite.tscn" id="3_2bpjt"] [node name="MemberInspectorPanel" unique_id=169191981 instance=ExtResource("1_x0sea")] script = ExtResource("2_yfo1o") + +[node name="Label" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="5" unique_id=310762327] +layout_mode = 2 + +[node name="Label2" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="6" unique_id=1729672621] +layout_mode = 2 +text = "Allegiance: " + +[node name="Allegiance" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="7" unique_id=601264471] +unique_name_in_owner = true +layout_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="8" unique_id=214625865] +layout_mode = 2 +theme_override_constants/margin_left = 50 +theme_override_constants/margin_top = 50 +theme_override_constants/margin_right = 50 +theme_override_constants/margin_bottom = 50 + +[node name="CurrencyMemberSprite" parent="VBoxContainer/MarginContainer" index="0" unique_id=283117283 instance=ExtResource("3_2bpjt")] +unique_name_in_owner = true +custom_minimum_size = Vector2(75, 75) +custom_maximum_size = Vector2(75, 75) +layout_mode = 2 + +[node name="Bribes" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(362599487) index="9" unique_id=807570934] +layout_mode = 2 diff --git a/project.godot b/project.godot index b7186f5..7b90190 100644 --- a/project.godot +++ b/project.godot @@ -20,6 +20,7 @@ Economy="*uid://dnpioqaes87yb" Random="*uid://cu3n7igqstbxi" UserContext="*uid://0a08ucta58lp" GameState="*uid://bohql2ihaumsa" +LetterGeneration="*uid://d156m2y8b38qs" [dialogic] diff --git a/test/test_economy.tscn b/test/test_economy.tscn index ec20e7e..505b07b 100644 --- a/test/test_economy.tscn +++ b/test/test_economy.tscn @@ -4,6 +4,7 @@ [ext_resource type="PackedScene" uid="uid://desvyn6e28oar" path="res://gui/production_chart.tscn" id="2_jd86c"] [ext_resource type="PackedScene" uid="uid://dx3y20p75chkj" path="res://gui/production_ledger_scroll.tscn" id="3_n4oyp"] [ext_resource type="PackedScene" uid="uid://75htlmk51oo" path="res://gui/currency_inspector_panel.tscn" id="4_7ya5o"] +[ext_resource type="PackedScene" uid="uid://dsmh4uua1avgp" path="res://member_inspector_panel.tscn" id="5_i7808"] [ext_resource type="PackedScene" uid="uid://vanflt5jr7tx" path="res://gui/inbox_panel.tscn" id="5_n4oyp"] [ext_resource type="PackedScene" uid="uid://coebykrbnhlif" path="res://currency/members/MemberSprite.tscn" id="6_vua3v"] [ext_resource type="Resource" uid="uid://ihsvxienxbeu" path="res://currency/sentient/knight.tres" id="7_s0mui"] @@ -69,6 +70,11 @@ text = "OpenInbox" [node name="CurrencyInspectorPanel" parent="." unique_id=169191981 instance=ExtResource("4_7ya5o")] layout_mode = 1 +[node name="MemberInspectorPanel" parent="." unique_id=1641024074 instance=ExtResource("5_i7808")] +layout_mode = 1 +offset_left = -189.0 +offset_right = -189.0 + [node name="InboxPanel" parent="." unique_id=534578339 instance=ExtResource("5_n4oyp")] layout_mode = 1 diff --git a/user_context.gd b/user_context.gd index 15e96e7..7947a6e 100644 --- a/user_context.gd +++ b/user_context.gd @@ -19,6 +19,7 @@ func select_focused_member(): return selected_member = candidate selected_member_change.emit(selected_member) + UserContext.member_inspect.emit(selected_member) func focused_member() -> CurrencyMemberSprite: if focused_members.size() == 0: