summaryrefslogtreecommitdiff
path: root/Game/States/StateManager.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Game/States/StateManager.gd')
-rw-r--r--Game/States/StateManager.gd19
1 files changed, 19 insertions, 0 deletions
diff --git a/Game/States/StateManager.gd b/Game/States/StateManager.gd
new file mode 100644
index 0000000..e62cdb4
--- /dev/null
+++ b/Game/States/StateManager.gd
@@ -0,0 +1,19 @@
+class_name StateManager
+extends Node
+
+
+func _ready():
+ Client.state = get_child(0)
+
+
+func _input(event: InputEvent) -> void:
+ Client.state._state_input(event)
+
+
+func set_state(state: Variant):
+ if state is not State:
+ state = get_node(state)
+
+ Client.state._state_exit()
+ Client.state = state
+ Client.state._state_enter()