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
+15
View File
@@ -8,9 +8,14 @@ extends Node
const AppFlow = preload("res://app_flow.gd")
const LiveSmokeTest = preload("res://live_smoke_test.gd")
const PackageRenderTest = preload("res://package_render_test.gd")
const PlayableLiveTest = preload("res://playable_live_test.gd")
const ForestMapRenderTest = preload("res://forest_map_render_test.gd")
const NetTrace = preload("res://net_trace.gd")
func _ready() -> void:
if OS.get_environment("MT_TEST_MODE") == "particle_exit":
add_child(preload("res://particle_exit_test.gd").new())
return
# MT_TEST_MODE=render:包内离线渲染自检,不起 AppFlow、不连服务器。
# 导出模板不接受 --script,这是导出包里唯一能跑离线渲染回归的入口。
if OS.get_environment("MT_TEST_MODE") == "render":
@@ -19,6 +24,11 @@ func _ready() -> void:
t.name = "PackageRenderTest"
add_child(t)
return
if OS.get_environment("MT_TEST_MODE") == "forest_render":
var forest := ForestMapRenderTest.new()
forest.name = "ForestMapRenderTest"
add_child(forest)
return
# 打包 app 从 Finder/open 启动时没有 shell 环境;40250 服务器使用 classic
# DH2/CTR 协议,因此默认固定到 classic,同时保留 MT_PROTOCOL 覆盖能力。
if OS.get_environment("MT_PROTOCOL").is_empty():
@@ -44,3 +54,8 @@ func _ready() -> void:
smoke.name = "LiveSmokeTest"
add_child(smoke)
smoke.setup(af, af.client)
if OS.get_environment("MT_TEST_MODE") == "playable":
var playable := PlayableLiveTest.new()
playable.name = "PlayableLiveTest"
add_child(playable)
playable.setup(af, af.client)