65 lines
1.6 KiB
GDScript
65 lines
1.6 KiB
GDScript
@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)
|
|
|
|
@onready var ambush := $"Ambush第三章开幕" as Ambush2D
|
|
|
|
func _on_ground_ready(_ground: Ground2D) -> void:
|
|
ambush.triggered.connect(intro_c04)
|
|
|
|
func _on_pre_stage_updated() -> void:
|
|
pass
|
|
|
|
|
|
func _on_stage_updated() -> void:
|
|
pass
|
|
|
|
|
|
func intro_c04() -> void:
|
|
var monster = $"Pro棺材怪"
|
|
var player = SceneManager.get_player()
|
|
var camera = SceneManager.get_camera_marker() as CameraFocusMarker
|
|
var default_limit: Rect2i = camera.default_camera_rect
|
|
var limit := default_limit
|
|
limit.position.y -= 1000
|
|
limit.size.y += 1000
|
|
camera.apply_limits(limit)
|
|
SceneManager.lock_player()
|
|
$"Pro花盆掉落".play()
|
|
Util.timer(0.3, $"Sfx花盆碎裂".play)
|
|
await Util.wait(1.5)
|
|
var pivot = $"CameraPivot"
|
|
camera.focus_node(pivot, 3.0)
|
|
await Util.wait(2.7)
|
|
var animation_player = $"AnimationPlayer" as AnimationPlayer
|
|
animation_player.play("intro_c04")
|
|
Util.timer(2.0, $"Pro花盆掉落".hide)
|
|
await Util.wait(0.5)
|
|
create_tween().tween_property(monster, "position:y", -800, 8.0)
|
|
await animation_player.animation_finished
|
|
camera.focus_node(player, 3.0)
|
|
await Util.wait(3.0)
|
|
camera.apply_limits(default_limit)
|
|
SceneManager.unlock_player()
|
|
EventManager.set_stage("c03_intro_c04", 1)
|
|
ArchiveManager.set_chapter_if_greater(4)
|
|
|
|
|
|
func start_conversation() -> void:
|
|
SceneManager.pop_debug_dialog_info("音效", "对话")
|
|
|
|
|
|
func pop_chapter_notification() -> void:
|
|
SceneManager.pop_chapter_notification(4)
|