31 lines
924 B
GDScript
31 lines
924 B
GDScript
tool
|
|
extends Area2D
|
|
|
|
onready var anim_player: AnimationPlayer = $AnimationPlayer
|
|
onready var levelState := get_tree().root.get_child(3).get_node("%LevelState")
|
|
onready var signalManager := get_tree().root.get_child(3).get_node("%SignalManager")
|
|
onready var levelName := get_tree().get_current_scene().get_name()
|
|
|
|
export(String, FILE, "*.tscn") var next_scene
|
|
|
|
|
|
func _get_configuration_warning() -> String:
|
|
return "The next scene property can't be empty" if not next_scene else ""
|
|
|
|
func level_completion() -> void:
|
|
signalManager.emit_signal("level_completed")
|
|
|
|
|
|
func teleport() -> void:
|
|
get_tree().paused = true
|
|
anim_player.play("fade_in")
|
|
# TODO This doesn't pause the game but should
|
|
yield(anim_player, "animation_finished")
|
|
if ResourceLoader.exists(next_scene):
|
|
get_tree().change_scene(next_scene)
|
|
|
|
|
|
func _on_body_entered(_body: Node) -> void:
|
|
level_completion()
|
|
teleport()
|