@tool extends Event2D # var prev_stage := 0 # var stage := 0 func _ready() -> void: super._ready() if Engine.is_editor_hint(): return func _on_global_stage_updated(e: StringName, s: int) -> void: super._on_global_stage_updated(e, s) func _on_ground_ready(_ground: Ground2D) -> void: $"Ambush陆蝶演出".triggered.connect(_start_show, CONNECT_ONE_SHOT) func _on_pre_stage_updated() -> void: pass func _on_stage_updated() -> void: pass @onready var animation_player = $"AnimationPlayer" as AnimationPlayer @onready var light = $"PointLight2D" as PointLight2D @onready var luren = $"Pro陆蝶" as ProAnimatedSprite2D @onready var xxxdie = $"小小小蝶" as ProAnimatedSprite2D func _start_show() -> void: SceneManager.lock_player() await SceneManager.pop_os_with_str("c04_鬼打墙_开始os") light.show() var energy = light.energy light.energy = 0.0 luren.show() luren.modulate.a = 0.0 var tween = create_tween() tween.tween_property(luren, "modulate:a", 1.0, 1.0) tween.parallel().tween_property(light, "energy", energy, 1.0) await tween.finished luren.play("小小小蝶骑在陆仁脖子上擦墙上的涂鸦") # DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C04, "") # await DialogueManager.dialogue_ended await Util.wait(3.0) luren.play("陆仁坐下") await luren.animation_finished xxxdie.show() luren.play("陆仁艰难站起") await luren.animation_finished luren.play("陆仁行走回头") await luren.animation_changed tween = create_tween() tween.tween_interval(0.5) tween.tween_property(luren, "modulate:a", 0.0, 1.5) tween.parallel().tween_property(xxxdie, "modulate:a", 0.0, 1.0) await tween.finished SceneManager.unlock_player() func speak_dialogue(): SceneManager.pop_debug_dialog_info("对白", "小蝶: 爸爸...")