完善客户端功能并同步差距文档
This commit is contained in:
@@ -60,6 +60,10 @@ const LABELS := {
|
||||
|
||||
const CFG_PATH := "user://system_option.cfg"
|
||||
|
||||
# uigameoption RefreshAlwaysShowName / 名字色 / 伤害数字等:radio 选中后广播给渲染层。
|
||||
# key ∈ DISPLAY_RADIOS 的 cfg key(name_color / always_show_name / show_damage / ...)。
|
||||
signal display_option_changed(key: String, value: int)
|
||||
|
||||
var ui: CanvasLayer
|
||||
var client: Node
|
||||
var assets_root := ""
|
||||
@@ -96,6 +100,10 @@ func setup(ui_manager: CanvasLayer, m2client: Node, assets := "") -> void:
|
||||
func is_open() -> bool:
|
||||
return not _win.is_empty() and is_instance_valid(_win.get("root"))
|
||||
|
||||
# 渲染层开局回填用:cfg [gameopt] 里某显示开关的当前值(0/1),缺省同 setup() 的默认。
|
||||
func display_value(key: String) -> int:
|
||||
return int(_display.get(key, 0))
|
||||
|
||||
func toggle() -> void:
|
||||
if is_open(): close()
|
||||
else: open()
|
||||
@@ -148,7 +156,8 @@ func _wire() -> void:
|
||||
_bind_radio(group, func(nm):
|
||||
var spec: Array = DISPLAY_RADIOS[nm]
|
||||
_display[spec[0]] = int(spec[1])
|
||||
_save())
|
||||
_save()
|
||||
display_option_changed.emit(String(spec[0]), int(spec[1])))
|
||||
var tb := _node("titlebar")
|
||||
if tb:
|
||||
for x in tb.find_children("*", "BaseButton", true, false):
|
||||
|
||||
Reference in New Issue
Block a user