xiandie/scene/ground/scene/c02/s13_animation.gd

57 lines
1.5 KiB
GDScript

@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")