35 lines
962 B
GDScript
35 lines
962 B
GDScript
extends Node
|
|
|
|
var player_free: bool = true
|
|
var player: Player
|
|
|
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
|
|
|
enum Events { NONE, PUMPKIN_CARVE, OUTSIDE_NORMAL }
|
|
var current_event: Events = Events.NONE
|
|
|
|
func transition_start() -> void:
|
|
animation_player.play("transition")
|
|
|
|
func transition_end() -> void:
|
|
animation_player.play_backwards("transition")
|
|
|
|
func run_event(event: Events, player_postion: Vector2 = Vector2.ZERO):
|
|
current_event = event
|
|
transition_start()
|
|
if player != null && player_postion != Vector2.ZERO:
|
|
player.position = player_postion
|
|
match event:
|
|
Events.PUMPKIN_CARVE:
|
|
player_free = false
|
|
get_tree().change_scene_to_file("uid://ccfdsdgaon63m") # scenes/levels/home.tscn
|
|
|
|
transition_end()
|
|
|
|
func transition_scene_file(scene: String) -> void:
|
|
if !animation_player.is_playing():
|
|
transition_start()
|
|
get_tree().call_deferred("change_scene_to_file", scene)
|
|
await get_tree().scene_changed
|
|
transition_end()
|