23 lines
2.0 KiB
GDScript
23 lines
2.0 KiB
GDScript
class_name RunScope
|
||
extends Node
|
||
# 一局会话状态承载(局生命周期单点)。
|
||
# 会话 = 一次冒险(开新/续玩)或一次调试两层对局;组合根 _begin_session 创建本节点挂树、
|
||
# 会话更替/终局整节点 queue_free()——旧手工复位清单(原 main._reset_run_scope 三项 +
|
||
# _on_battle_end_continue 置空四件)随节点释放机制消亡,此后新增跨局字段零新增泄漏点
|
||
#(泄漏=低频难复现脏状态的手工契约病灶,审计 P0-2)。
|
||
# 纪律:本节点零信号连接、零视图构建、零核心写调用(信号连接只在组合根):
|
||
# 纯状态承载,组合根经 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() # 结算框挂起计时(窗口 0=挂起到显式回落)
|
||
var pending_candidates: Array[Variant] = [] # 结算框挂起期的选路候选暂存(choices_presented 载荷)
|
||
var locked_click := {} # 锁期点击缓存(T17 v3.1——最后一次;演播完边沿重放)
|
||
var last_gain_amount := 0 # 最近一笔钱包入账(GP 增量取数面——wallet_changed gain 载荷)
|