P0-1 三屏场景化(契约2 只拆不重写): - menu_screen/camp_screen/adventure_screen 三 .tscn 屏壳+壳脚本(视图代码原样构建, 40+ views 零 .tscn 化);adventure 屏壳内含 level_map/battle 两容器 - main.gd _build_ui 解体=三屏实例化+模态装配+接线;组合根句柄全部保留(探针挂载 假设 main.X 一级路径零迁移);树序=屏壳在前全模态之下(视觉共存对逐对验算) - 屏壳根 mouse_filter=IGNORE(ui_input 实证:全屏 STOP 壳吃下层模态鼠标输入) P0-2 会话物化(裁点①甲 autoload+手工清单消亡): - run_scope.gd 节点持全部局态(adventure/runner/settlement/7+ 局态旗/账本); _begin_session 建会话、终局整节点 queue_free()——_reset_run_scope 三项+ _on_battle_end_continue 置空四件手工清单删除 - SaveManager/MetaProgression 升格 autoload 3/4 号位(类名加 Core 后缀沿 RngService 先例;--script 模式编译器不解析裸 autoload 标识符——组合根留读视图属性 get_node 形态) - 探针隔离改 attach_path 原地重置(set_master_seed 先例);10 探针+pacing 测试迁移 验收(V1 核心=逐位一致对拍): - parity_anchor 三变体 base/attune/shop×40 局 RUNSUM+JSONL 双面逐位全同(零行为漂移) - 冒烟 1055→1077/0(+V2 屏壳独立实例化 11 断言+V3 两连局复位 11 断言) - run_all 25 套+probe click 全绿+render_gate golden 0.00%×3
25 lines
2.3 KiB
GDScript
25 lines
2.3 KiB
GDScript
class_name RunScope
|
||
extends Node
|
||
# 一局会话状态承载(迭代 27 T1——P0-2「局生命周期物化」修复波)。
|
||
# 会话 = 一次冒险(开新/续玩)或一次调试两层对局;组合根 _begin_session 创建本节点挂树、
|
||
# 会话更替/终局整节点 queue_free()——旧手工复位清单(原 main._reset_run_scope 三项 +
|
||
# _on_battle_end_continue 置空四件)随节点释放机制消亡,此后新增跨局字段零新增泄漏点
|
||
#(泄漏=低频难复现脏状态的手工契约病灶,审计 P0-2)。
|
||
# 纪律:本节点零信号连接、零视图构建、零核心写调用(ADR-0001——信号连接只在组合根):
|
||
# 纯状态承载,组合根经 run_scope.X 读写。
|
||
var adventure = null # 冒险结构编排器(调试两层恒 null)
|
||
var runner = null # 关卡推进器(冒险每关重取 adventure.runner();调试两层恒 null)
|
||
var settlement = null # 当前战斗编排器(冒险与调试两层统一读它)
|
||
var is_adventure := false # 冒险会话标记(inter 层确认分派与终局分派)
|
||
var level_active := false # 对局激活(状态面板入口点亮/刷新受理分派)
|
||
var level_screen_active := false # 关卡独立屏激活状态(屏级互斥——形态升格批语义)
|
||
var refresh_used_round := 0 # 本轮已受理刷新次数(遥测 round_refresh_index——每轮 round_started 归零)
|
||
var boss_active := false # Boss 遭遇变体(阶段指示附 Boss 名)
|
||
var was_settling := false # 结算相位上升沿检测(结算轮光带触发——演出链批)
|
||
var hints_shown := {} # 一次性非模态提示去重(每 run 一次:chord/no_adjacent)
|
||
var settlement_stop_timer := ArmedTimer.new() # 卡⑥ 结算框挂起计时(T3/D3 P4 乙——窗口 0=挂起到显式回落)
|
||
var pending_candidates: Array = [] # 结算框挂起期的选路候选暂存(choices_presented 载荷)
|
||
var locked_click := {} # 锁期点击缓存(T17 v3.1——最后一次;演播完边沿重放)
|
||
var last_gain_amount := 0 # 最近一笔钱包入账(卡⑥ GP 增量取数面——wallet_changed gain 载荷)
|
||
var gp_ledger = null # GP 冒险钱包影子账(gp_shadow_ledger.gd 实例——wallet 事件投喂;T3 账本收口波将退役)
|