diff --git a/scenes/level_director/level_director.tscn b/scenes/level_director/level_director.tscn index e84497c..aa7e1a9 100644 --- a/scenes/level_director/level_director.tscn +++ b/scenes/level_director/level_director.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=3 uid="uid://4eo7g5abxolw"] +[gd_scene load_steps=5 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"] +[ext_resource type="Script" uid="uid://b0216l7nxo06o" path="res://scenes/levels/states/level_paused.gd" id="4_dhas6"] [node name="LevelDirector" type="Node" node_paths=PackedStringArray("initial_state")] process_mode = 3 @@ -17,3 +18,7 @@ metadata/_custom_type_script = "uid://dioh6egp2x760" [node name="Playing" type="Node" parent="."] script = ExtResource("3_v2iy6") metadata/_custom_type_script = "uid://dioh6egp2x760" + +[node name="Paused" type="Node" parent="."] +script = ExtResource("4_dhas6") +metadata/_custom_type_script = "uid://dioh6egp2x760" diff --git a/scenes/levels/states/level_paused.gd b/scenes/levels/states/level_paused.gd new file mode 100644 index 0000000..cbd326a --- /dev/null +++ b/scenes/levels/states/level_paused.gd @@ -0,0 +1,16 @@ +extends LevelState + + +var player_id: int + + +func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void: + print("entering level paused") + assert(_data["player"] == 1 or _data["player"] == 2, "invalid player id passed") + player_id = _data["player"] + get_tree().paused = true + + +func _handle_input(event: InputEvent) -> void: + if event.is_action_pressed("p"+str(player_id)+"_pause"): + finished.emit(PLAYING) diff --git a/scenes/levels/states/level_paused.gd.uid b/scenes/levels/states/level_paused.gd.uid new file mode 100644 index 0000000..263ba02 --- /dev/null +++ b/scenes/levels/states/level_paused.gd.uid @@ -0,0 +1 @@ +uid://b0216l7nxo06o