xiandie/scene/ground/script/c02/s03_event第三章开幕.gd

65 lines
1.6 KiB
GDScript3
Raw Normal View History

@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()
2025-08-13 08:42:21 +00:00
Util.timer(0.3, $"Sfx花盆碎裂".play)
await Util.wait(1.5)
var pivot = $"CameraPivot"
camera.focus_node(pivot, 3.0)
2025-08-13 10:01:52 +00:00
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)
2025-09-04 05:48:51 +00:00
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)