Implement 40250 classic client port
This commit is contained in:
+10
-1
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user