P1-4 共享账本 Ledger 类化(裁点②甲 单类持四账): - game/core/run_ledger.gd: attune_charges/vision_counter/adventure_counters/bonus 四账 单类承载;战斗侧只拿 read/append 原语(attune_charge_has/set/consume、vision_count_add、 counters_seed_snapshot/merge_export、bonus_add_axis)——战末 export/开局 seed 时点语义不变 - AdventureRunner 持账(run_ledger)→ LevelRunner set_run_ledger+sync_attune_inventory (原四散 setter 收口)→ enc 单键 ledger 下传;编排器三裸引用成员退役为 _ledger 原语调用 - 调试/单场缺省新账=零扰动面(vision_counter 缺省空=不计,原 enc 缺键守卫语义保留) P1-2 刷新双账收口: - main 刷新计数副本(run_scope.refresh_used_round)删除;单一事实源=编排器受理计数 - presentation_snapshot 成文面升键 refresh_used(can_refresh 邻位)——HUD 余量/遥测 round_refresh_index 单源读快照;V5 快照一致性断言×3(smoke+ui_click HUD 文本比对) P1-3 GP 影子账收口: - adventure_runner summary 增 gp_final 键(close_wallet 清账前快照) - gp_shadow_ledger.gd 全件退役删除;main 委托缝/会话账本成员删除;终局面板 GP 行 取数=summary 键;ui_probe 影子账断言换代为 summary 键断言 验收: 逐位一致对拍三变体全同;冒烟 1079/0+run_all 26 套+probe click+render golden 0.00%
23 lines
2.1 KiB
GDScript
23 lines
2.1 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 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 载荷)
|