Implement playable Mac client and rendering validation
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user