完善客户端功能并同步差距文档

This commit is contained in:
shenlei
2026-09-03 18:40:01 +09:00
parent f93a172296
commit 13ccb8d02d
135 changed files with 21881 additions and 1259 deletions
+10 -1
View File
@@ -60,6 +60,10 @@ const LABELS := {
const CFG_PATH := "user://system_option.cfg"
# uigameoption RefreshAlwaysShowName / 名字色 / 伤害数字等:radio 选中后广播给渲染层。
# key ∈ DISPLAY_RADIOS 的 cfg keyname_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):