extends Node2D class_name Event2D # 前置依赖事件,为空时意味着无前置事件 @export var pre_event: String # 当前事件 @export var event: String var prev_stage := 0 var stage := 0 func _ready() -> void: stage = EventManager.get_stage(event) if pre_event: prev_stage = EventManager.get_stage(pre_event) SceneManager.ground_ready.connect(_on_ground_ready) EventManager.stage_updated.connect(_on_global_stage_updated) func _on_global_stage_updated(e: StringName, s: int): if e == pre_event: prev_stage = s print("[Event2D] Pre-event stage updated: %s, stage: %s" % [pre_event, prev_stage]) _on_pre_stage_updated() elif e == event: stage = s print("[Event2D] Event stage updated: %s, stage: %s" % [event, stage]) _on_stage_updated() func _on_ground_ready(ground: Ground2D): pass func _on_pre_stage_updated(): pass func _on_stage_updated(): pass