@tool extends AnimationRoot # 覆盖该方法 func _default_data() -> Dictionary: return {} func _ready() -> void: super._ready() if Engine.is_editor_hint(): return func _on_ground_ready() -> void: pass func knock_light_door(): var knock_stream = preload("uid://7of24bqow07e") var player = SceneManager.get_player() # 一直循环下去 for _i in range(100): SceneManager.freeze_player(0, 6) await get_tree().create_timer(0.6).timeout # 被抓时打断 if not player.visible or player.hide_sprite: _outtro_show() break AudioManager.play_sfx(knock_stream) await get_tree().create_timer(0.2).timeout # 被抓时打断 if not player.visible or player.hide_sprite: _outtro_show() break AudioManager.play_sfx(knock_stream) await get_tree().create_timer(0.2).timeout # 被抓时打断 if not player.visible or player.hide_sprite: _outtro_show() break # 收尾演出 func _outtro_show(): $"../DeployLayer/Ambush终点光芒互动".enabled = false # 禁止猪头怪动画播放结束后重开游戏 $"../DeployLayer/追猫猪头怪_传送".allow_restart_game = false $"Sfx结尾演出".play() await get_tree().create_timer(8.0).timeout $"../盒子猫CanvasLayer".show_footprint() # 盒子猫逃脱成功/被抓走,游戏结束,解锁瞎子卧室门 await get_tree().create_timer(10.0).timeout ArchiveManager.set_global_entry("c02_the_blind_room_unlocked", true) SceneManager.get_ground_loader().transition_to_scene("c02_s08", "1")