feat: HUD 绑定灵石/声望显示,完成 D2 资源管理
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user