Blobby/src/Contraptions/Portal/Portal.gd

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()