From 22a4af6e355b779ec5cdfa53d850021ed09be887 Mon Sep 17 00:00:00 2001 From: yuki Date: Wed, 19 Nov 2025 18:19:31 -0300 Subject: [PATCH] add basic gameplay state --- scenes/level_director/level_director.tscn | 7 ++++++- scenes/levels/states/level_playing.gd | 16 ++++++++++++++++ scenes/levels/states/level_playing.gd.uid | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 scenes/levels/states/level_playing.gd create mode 100644 scenes/levels/states/level_playing.gd.uid diff --git a/scenes/level_director/level_director.tscn b/scenes/level_director/level_director.tscn index cbb0bf7..e84497c 100644 --- a/scenes/level_director/level_director.tscn +++ b/scenes/level_director/level_director.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://4eo7g5abxolw"] +[gd_scene load_steps=4 format=3 uid="uid://4eo7g5abxolw"] [ext_resource type="Script" uid="uid://bio2cjqps6kg1" path="res://scenes/level_director/level_director.gd" id="1_4q8ux"] [ext_resource type="Script" uid="uid://dikxx4j1auywf" path="res://scenes/levels/states/level_starting.gd" id="2_ywjt3"] +[ext_resource type="Script" uid="uid://b33kq05ag5tx6" path="res://scenes/levels/states/level_playing.gd" id="3_v2iy6"] [node name="LevelDirector" type="Node" node_paths=PackedStringArray("initial_state")] process_mode = 3 @@ -12,3 +13,7 @@ metadata/_custom_type_script = "uid://dqjaxgmyxq3rx" [node name="Starting" type="Node" parent="."] script = ExtResource("2_ywjt3") metadata/_custom_type_script = "uid://dioh6egp2x760" + +[node name="Playing" type="Node" parent="."] +script = ExtResource("3_v2iy6") +metadata/_custom_type_script = "uid://dioh6egp2x760" diff --git a/scenes/levels/states/level_playing.gd b/scenes/levels/states/level_playing.gd new file mode 100644 index 0000000..374170f --- /dev/null +++ b/scenes/levels/states/level_playing.gd @@ -0,0 +1,16 @@ +extends LevelState + + +func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void: + get_tree().paused = false + + +func _handle_input(event: InputEvent) -> void: + if event.is_action_pressed("p1_pause"): + finished.emit(PAUSED, {"player": 1}) + elif event.is_action_pressed("p2_pause"): + finished.emit(PAUSED, {"player": 2}) + + +func _state_physics_update(delta: float) -> void: + level.camera.follow_gameplay(delta) diff --git a/scenes/levels/states/level_playing.gd.uid b/scenes/levels/states/level_playing.gd.uid new file mode 100644 index 0000000..1d722df --- /dev/null +++ b/scenes/levels/states/level_playing.gd.uid @@ -0,0 +1 @@ +uid://b33kq05ag5tx6