From a42a258f08e52c132cb52ea3dfee14c6fd2fd3fa Mon Sep 17 00:00:00 2001 From: yuki Date: Tue, 18 Nov 2025 15:07:09 -0300 Subject: [PATCH] add basic level director --- classes/state/level_state.gd | 33 +++++++++++++++++++++++ classes/state/level_state.gd.uid | 1 + scenes/level_director/level_director.tscn | 7 +++++ 3 files changed, 41 insertions(+) create mode 100644 classes/state/level_state.gd create mode 100644 classes/state/level_state.gd.uid create mode 100644 scenes/level_director/level_director.tscn diff --git a/classes/state/level_state.gd b/classes/state/level_state.gd new file mode 100644 index 0000000..6be4dc2 --- /dev/null +++ b/classes/state/level_state.gd @@ -0,0 +1,33 @@ +class_name LevelState extends State + +const PAUSED = "Paused" +const STARTING = "Starting" +const SCORING = "Scoring" + +var level: Level + + +func _ready() -> void: + await owner.ready + level = owner as Level + assert(level != null, "The LevelState state type must be used only in the level scene. It needs the owner to be a Level node.") + + +func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void: + pass + + +func _exit() -> void: + pass + + +func _handle_input(_event: InputEvent) -> void: + pass + + +func _state_update(_delta: float) -> void: + pass + + +func _state_physics_update(_delta: float) -> void: + pass diff --git a/classes/state/level_state.gd.uid b/classes/state/level_state.gd.uid new file mode 100644 index 0000000..ab42e11 --- /dev/null +++ b/classes/state/level_state.gd.uid @@ -0,0 +1 @@ +uid://dioh6egp2x760 diff --git a/scenes/level_director/level_director.tscn b/scenes/level_director/level_director.tscn new file mode 100644 index 0000000..be9a90f --- /dev/null +++ b/scenes/level_director/level_director.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://4eo7g5abxolw"] + +[ext_resource type="Script" uid="uid://dqjaxgmyxq3rx" path="res://classes/state_machine/state_machine.gd" id="1_4q8ux"] + +[node name="LevelDirector" type="Node"] +script = ExtResource("1_4q8ux") +metadata/_custom_type_script = "uid://dqjaxgmyxq3rx"