Implement playable Mac client and rendering validation

This commit is contained in:
shen
2026-09-11 14:58:22 +08:00
parent 1ab68bd06e
commit 374d4165d8
233 changed files with 6546 additions and 284 deletions
+10 -1
View File
@@ -103,6 +103,12 @@ func _process(_delta: float) -> void:
"settle_second":
if _seconds_in_state(now) >= SETTLE_SECONDS:
_check(_client != null and _client.is_in_game(), "重连后客户端仍处于游戏状态")
var vid := int(_client.get_main_vid())
_check(vid != 0 and not _client.get_entity(vid).is_empty(), "重连后主角重新建立")
_check(not _client.get_points().is_empty() and _has_method_and_array("get_skills")
and _has_method_and_array("get_quickslots"), "重连后属性/技能/快捷栏可读取")
var scene: Node = _flow.get("_game")
_check(is_instance_valid(scene) and bool(scene.get("_model_built")), "重连后真实角色模型建立")
_finish_later()
"waiting_login", "waiting_first_game":
if _seconds_in_state(now) >= STEP_TIMEOUT_SECONDS:
@@ -189,7 +195,7 @@ func _run_world_checks() -> void:
_fail("主角色缺少 pos_cm")
if not _mutations:
_finish_later()
_start_reconnect()
return
_send_move()
@@ -215,6 +221,9 @@ func _send_stop() -> void:
func _send_chat() -> void:
var ok := bool(_client.say(CHAT_TALKING, "[smoke] client live smoke test"))
_check(ok, "发送普通聊天包")
_start_reconnect()
func _start_reconnect() -> void:
if not _reconnect:
_finish_later()
return