diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index e731b52..43f8970 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -1,16 +1,42 @@ extends Node3D +# 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) # 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(): - $PlayerController.active = true $light_animation.play("light_up") $AudioPlayer.play("intro") + $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