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
|
2023-07-13 14:16:42 +00:00
|
|
|
signal ini_room
|
|
|
|
|
signal resume_room
|
2023-03-26 22:29:25 +00:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
func start():
|
2023-07-13 14:16:42 +00:00
|
|
|
emit_signal("ini_room")
|
2023-03-26 22:29:25 +00:00
|
|
|
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")
|
2023-04-22 13:11:10 +00:00
|
|
|
|
2023-03-26 22:29:25 +00:00
|
|
|
return new_mode
|