feat: HUD 重构与主题资源——灵米显示、新布局、标签描边阴影、按钮/菜单主题
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
## 顶部信息栏 HUD(挂载于 TopBarHUD.tscn)。
|
||||
## 显示灵石/时间/声望,提供时间流速控制与返回主菜单入口。
|
||||
## 显示资源(灵石/声望/灵米/灵气浓度)与时间,提供时间流速控制与返回主菜单入口。
|
||||
extends Control
|
||||
|
||||
## 请求返回主菜单。
|
||||
@@ -11,6 +11,7 @@ signal sign_open_disciples
|
||||
@onready var currency_label: Label = %Value_Currency
|
||||
@onready var reputation_label: Label = %Value_Reputation
|
||||
@onready var qi_label: Label = %Value_Qi
|
||||
@onready var food_label: Label = %Value_Food
|
||||
@onready var pause_button: Button = %Button_Pause
|
||||
@onready var speed_buttons: Array[Button] = [%Button_Speed1, %Button_Speed5, %Button_Speed20]
|
||||
|
||||
@@ -24,8 +25,10 @@ func _ready() -> void:
|
||||
# 资源数值:信号仅在变化时触发,初始值需手动设置一次
|
||||
SectManager.spirit_stones_changed.connect(_on_spirit_stones_changed)
|
||||
SectManager.reputation_changed.connect(_on_reputation_changed)
|
||||
SectManager.food_changed.connect(_on_food_changed)
|
||||
currency_label.text = str(SectManager.spirit_stones)
|
||||
reputation_label.text = str(SectManager.reputation)
|
||||
food_label.text = str(SectManager.food)
|
||||
# 灵气浓度:当前为配置固定值(D6 建筑系统接入后动态刷新)
|
||||
qi_label.text = "%d%%" % roundi(GameConfig.qi_concentration * 100)
|
||||
time_label.text = TimeSystem.get_date_text()
|
||||
@@ -46,6 +49,11 @@ func _on_spirit_stones_changed(new_value: int, _delta: int) -> void:
|
||||
func _on_reputation_changed(new_value: int, _delta: int) -> void:
|
||||
reputation_label.text = str(new_value)
|
||||
|
||||
## 灵米(食物)变化时刷新显示。
|
||||
## @param new_value: 变化后的灵米总量
|
||||
func _on_food_changed(new_value: int, _delta: int) -> void:
|
||||
food_label.text = str(new_value)
|
||||
|
||||
## 点击"返回"按钮。
|
||||
func _on_button_return_button_up() -> void:
|
||||
sign_return_mainmenu.emit()
|
||||
@@ -69,10 +77,10 @@ func _on_speed_button_up(index: int) -> void:
|
||||
## 标签共用同一 LabelSettings 资源,改一处全生效;按钮逐个覆盖。
|
||||
func _apply_hud_font() -> void:
|
||||
var size := GameConfig.hud_font_size
|
||||
var settings: LabelSettings = $HBoxContainer/Label_Currency.label_settings
|
||||
var settings: LabelSettings = $VBoxContainer/HBoxContainer3/HBoxContainer/VBoxContainer/HBoxContainer/Label_Currency.label_settings
|
||||
if settings != null:
|
||||
settings.font_size = size
|
||||
for btn in $HBoxContainer.find_children("*", "Button", true, false):
|
||||
for btn in $VBoxContainer.find_children("*", "Button", true, false):
|
||||
btn.add_theme_font_size_override("font_size", size)
|
||||
|
||||
## 刷新速度组 UI:暂停按钮文字与各档位按下状态。
|
||||
|
||||
Reference in New Issue
Block a user