2023-03-13 12:15:43 +00:00
|
|
|
extends Node3D
|
|
|
|
|
|
2023-03-26 22:29:25 +00:00
|
|
|
# Referencing the current State of the Scene.
|
|
|
|
|
enum Modes {
|
|
|
|
|
FREEZE,
|
|
|
|
|
WALKING,
|
|
|
|
|
COLLECTING,
|
|
|
|
|
LISTENING,
|
|
|
|
|
SORTING
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
signal freeze
|
|
|
|
|
signal unfreeze
|
|
|
|
|
|
|
|
|
|
var current_mode: int = Modes.FREEZE:
|
|
|
|
|
set(new_mode):
|
|
|
|
|
if not current_mode == new_mode:
|
|
|
|
|
current_mode = _update_scene(new_mode)
|
2023-03-13 12:15:43 +00:00
|
|
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
|
|
|
func _ready():
|
|
|
|
|
pass # Replace with function body.
|
|
|
|
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
|
|
|
func _process(delta):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
func start():
|
|
|
|
|
$light_animation.play("light_up")
|
|
|
|
|
$AudioPlayer.play("intro")
|
2023-03-26 22:29:25 +00:00
|
|
|
$PlayerController.active = true
|
|
|
|
|
current_mode = Modes.WALKING
|
|
|
|
|
|
|
|
|
|
func _update_scene(new_mode) -> int:
|
|
|
|
|
if current_mode == Modes.FREEZE:
|
|
|
|
|
emit_signal("freeze")
|
|
|
|
|
elif new_mode == Modes.FREEZE:
|
|
|
|
|
emit_signal("freeze")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new_mode
|