diff --git a/src/Core/SectManager.gd b/src/Core/SectManager.gd index 744a31a..a21e914 100644 --- a/src/Core/SectManager.gd +++ b/src/Core/SectManager.gd @@ -22,4 +22,4 @@ func add_reputation(amount: int) -> void: func remove_reputation(amount: int) -> void: reputation -= amount - emit_signal("reputation_changed", reputation, -amount) \ No newline at end of file + emit_signal("reputation_changed", reputation, -amount) diff --git a/src/UI/HUD/TopBarHUD.tscn b/src/UI/HUD/TopBarHUD.tscn index b20dbb0..33060b4 100644 --- a/src/UI/HUD/TopBarHUD.tscn +++ b/src/UI/HUD/TopBarHUD.tscn @@ -31,6 +31,7 @@ text = "灵石" label_settings = SubResource("LabelSettings_bn2o5") [node name="Value_Currency" type="Label" parent="HBoxContainer" unique_id=1150573727] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 8 @@ -59,6 +60,7 @@ text = "声望" label_settings = SubResource("LabelSettings_bn2o5") [node name="Value_Reputation" type="Label" parent="HBoxContainer" unique_id=2011931119] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 8 diff --git a/src/UI/HUD/top_bar_hud.gd b/src/UI/HUD/top_bar_hud.gd index b1c9988..73dbc8c 100644 --- a/src/UI/HUD/top_bar_hud.gd +++ b/src/UI/HUD/top_bar_hud.gd @@ -6,6 +6,8 @@ extends Control signal sign_return_mainmenu @onready var time_label: Label = %Value_Time +@onready var currency_label: Label = %Value_Currency +@onready var reputation_label: Label = %Value_Reputation @onready var pause_button: Button = %Button_Pause @onready var speed_buttons: Array[Button] = [%Button_Speed1, %Button_Speed5, %Button_Speed20] @@ -14,14 +16,30 @@ func _ready() -> void: var btn := speed_buttons[i] btn.toggle_mode = true btn.button_up.connect(_on_speed_button_up.bind(i)) + # 时间:每日推进时刷新日期 TimeSystem.day_passed.connect(_on_day_passed) - _update_speed_ui() + # 资源数值:信号仅在变化时触发,初始值需手动设置一次 + SectManager.spirit_stones_changed.connect(_on_spirit_stones_changed) + SectManager.reputation_changed.connect(_on_reputation_changed) + currency_label.text = str(SectManager.spirit_stones) + reputation_label.text = str(SectManager.reputation) time_label.text = TimeSystem.get_date_text() + _update_speed_ui() ## 每日推进时刷新日期显示。 func _on_day_passed(_year: int, _month: int, _day: int) -> void: time_label.text = TimeSystem.get_date_text() +## 灵石数量变化时刷新显示。 +## @param new_value: 变化后的灵石总量 +func _on_spirit_stones_changed(new_value: int, _delta: int) -> void: + currency_label.text = str(new_value) + +## 声望变化时刷新显示。 +## @param new_value: 变化后的声望总量 +func _on_reputation_changed(new_value: int, _delta: int) -> void: + reputation_label.text = str(new_value) + ## 点击"返回"按钮。 func _on_button_return_button_up() -> void: sign_return_mainmenu.emit()