Implement 40250 classic client port

This commit is contained in:
shenlei
2026-09-01 18:49:28 +09:00
parent 2277b1dd60
commit 8f61990a83
481 changed files with 169826 additions and 293 deletions
+10 -1
View File
@@ -66,7 +66,7 @@ func state() -> int:
# --- client 信号 -------------------------------------------------------------
func _wire_client() -> void:
for sig in ["char_list", "entered_game", "disconnected", "login_failed"]:
for sig in ["char_list", "char_name_changed", "entered_game", "disconnected", "login_failed"]:
if client.has_signal(sig):
client.connect(sig, Callable(self, "_on_" + sig))
# 建 / 删号结果 —— 一次性接,转发给当前选人页
@@ -86,6 +86,11 @@ func _on_char_list(list: Array) -> void:
if auto_login and not _chars.is_empty() and client.has_method("select_character"):
client.select_character(int(_chars[0].get("index", 0)))
func _on_char_name_changed(pid: int, name: String) -> void:
var sc: Node = _ui.get_node_or_null("CharSelect") if _ui and _state == SELECT else null
if sc and sc.has_method("on_char_name_changed"):
sc.on_char_name_changed(pid, name)
func _on_entered_game() -> void:
_goto_game()
_start_guild_mark_download()
@@ -333,6 +338,10 @@ func _build_char_list() -> void:
screen.delete_requested.connect(func(idx: int, code: String):
if client.has_method("delete_character"):
client.delete_character(idx, code))
screen.change_name_requested.connect(func(idx: int, name: String):
if not client.has_method("change_name") or not bool(client.call("change_name", idx, name)):
if screen.has_method("on_char_name_send_failed"):
screen.on_char_name_send_failed())
if client.has_signal("guild_marks_ready"):
client.guild_marks_ready.connect(_on_marks_ready_for_select, CONNECT_ONE_SHOT)