57 lines
1.5 KiB
GDScript
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")
|