From 83b14d31cdfb4391ef82b03ec31ba3716d96dcc5 Mon Sep 17 00:00:00 2001 From: Ruslan Ignatov Date: Sun, 19 Oct 2025 00:30:13 +0300 Subject: [PATCH] Added pause menu --- .gitattributes | 2 + game/game.gd | 46 ++++++ game/game.gd.uid | 1 + game/game.tscn | 6 + game/passage.gd | 1 + game/passage.gd.uid | 1 + game/passage.tscn | 6 + game.gd => main.gd | 8 +- game.gd.uid => main.gd.uid | 0 game.tscn => main.tscn | 2 +- .../settings_manager.gd | 0 .../settings_manager.gd.uid | 0 menu/credits.tscn | 30 ++-- menu/main_menu.tscn | 26 ++-- menu/options.gd | 4 +- menu/options.tscn | 44 +++--- menu/pause_menu.gd | 12 ++ menu/pause_menu.gd.uid | 1 + menu/pause_menu.tscn | 26 ++++ project.godot | 145 +++++++++++++++++- 20 files changed, 301 insertions(+), 60 deletions(-) create mode 100644 .gitattributes create mode 100644 game/game.gd create mode 100644 game/game.gd.uid create mode 100644 game/game.tscn create mode 100644 game/passage.gd create mode 100644 game/passage.gd.uid create mode 100644 game/passage.tscn rename game.gd => main.gd (70%) rename game.gd.uid => main.gd.uid (100%) rename game.tscn => main.tscn (88%) rename settings_manager.gd => managers/settings_manager.gd (100%) rename settings_manager.gd.uid => managers/settings_manager.gd.uid (100%) create mode 100644 menu/pause_menu.gd create mode 100644 menu/pause_menu.gd.uid create mode 100644 menu/pause_menu.tscn diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..59a33bc --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.png filter=lfs diff=lfs merge=lfs -text lockable +*.aseprite filter=lfs diff=lfs merge=lfs -text lockable diff --git a/game/game.gd b/game/game.gd new file mode 100644 index 0000000..bb1d17a --- /dev/null +++ b/game/game.gd @@ -0,0 +1,46 @@ +extends Node + +signal show_main_menu + + +var _current_scene: Node +var _current_passage: Node + + +func _process(_delta: float) -> void: + if Input.is_action_pressed("pause"): + _show_pause_menu() + + + + +func _ready() -> void: + _show_passage() + + +func _show_passage() -> void: + if _current_scene != null: + _current_scene.queue_free() + + if _current_passage == null: + _current_passage = load("res://game/passage.tscn").instantiate() + add_child(_current_passage) + else: + _current_passage.visible = true + + +func _show_pause_menu() -> void: + if _current_scene != null: + _current_scene.queue_free() + if _current_passage != null: + _current_passage.visible = false + + var scene : Node = load("res://menu/pause_menu.tscn").instantiate() + add_child(scene) + scene.continue_game.connect(_show_passage) + scene.show_main_menu.connect(_show_main_menu) + _current_scene = scene + + +func _show_main_menu() -> void: + show_main_menu.emit() diff --git a/game/game.gd.uid b/game/game.gd.uid new file mode 100644 index 0000000..990b49c --- /dev/null +++ b/game/game.gd.uid @@ -0,0 +1 @@ +uid://1wfu4iuddo25 diff --git a/game/game.tscn b/game/game.tscn new file mode 100644 index 0000000..2644977 --- /dev/null +++ b/game/game.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dl7m4rqyj8mck"] + +[ext_resource type="Script" uid="uid://1wfu4iuddo25" path="res://game/game.gd" id="1_l1rk1"] + +[node name="Game" type="Node"] +script = ExtResource("1_l1rk1") diff --git a/game/passage.gd b/game/passage.gd new file mode 100644 index 0000000..e251cf8 --- /dev/null +++ b/game/passage.gd @@ -0,0 +1 @@ +extends Node2D diff --git a/game/passage.gd.uid b/game/passage.gd.uid new file mode 100644 index 0000000..5350ea8 --- /dev/null +++ b/game/passage.gd.uid @@ -0,0 +1 @@ +uid://c6gpm3edyr4nu diff --git a/game/passage.tscn b/game/passage.tscn new file mode 100644 index 0000000..08e760e --- /dev/null +++ b/game/passage.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dgc0087kvarx6"] + +[ext_resource type="Script" uid="uid://c6gpm3edyr4nu" path="res://game/passage.gd" id="1_ltkyg"] + +[node name="Passage" type="Node2D"] +script = ExtResource("1_ltkyg") diff --git a/game.gd b/main.gd similarity index 70% rename from game.gd rename to main.gd index 7808723..94771d1 100644 --- a/game.gd +++ b/main.gd @@ -24,7 +24,13 @@ func _continue_game() -> void: func _new_game() -> void: - print("new_game") + if _current_scene != null: + _current_scene.queue_free() + + var scene : Node = load("res://game/game.tscn").instantiate() + add_child(scene) + scene.show_main_menu.connect(_show_main_menu) + _current_scene = scene func _quit() -> void: diff --git a/game.gd.uid b/main.gd.uid similarity index 100% rename from game.gd.uid rename to main.gd.uid diff --git a/game.tscn b/main.tscn similarity index 88% rename from game.tscn rename to main.tscn index 7cd434f..7482449 100644 --- a/game.tscn +++ b/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://3slnk7fd7xm5"] -[ext_resource type="Script" uid="uid://1aescybuf6gu" path="res://game.gd" id="1_80nbo"] +[ext_resource type="Script" uid="uid://1aescybuf6gu" path="res://main.gd" id="1_80nbo"] [node name="Game" type="Node"] script = ExtResource("1_80nbo") diff --git a/settings_manager.gd b/managers/settings_manager.gd similarity index 100% rename from settings_manager.gd rename to managers/settings_manager.gd diff --git a/settings_manager.gd.uid b/managers/settings_manager.gd.uid similarity index 100% rename from settings_manager.gd.uid rename to managers/settings_manager.gd.uid diff --git a/menu/credits.tscn b/menu/credits.tscn index 1abbcc1..10f674c 100644 --- a/menu/credits.tscn +++ b/menu/credits.tscn @@ -2,41 +2,37 @@ [ext_resource type="Script" uid="uid://dclkpithyykju" path="res://menu/credits.gd" id="1_wp78b"] -[node name="Credits" type="Node"] -script = ExtResource("1_wp78b") - -[node name="Control" type="Control" parent="."] +[node name="Credits" type="Control"] layout_mode = 3 anchors_preset = 0 +script = ExtResource("1_wp78b") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 0 offset_left = 100.0 offset_top = 100.0 -offset_right = 140.0 -offset_bottom = 140.0 +offset_right = 330.0 +offset_bottom = 158.0 -[node name="VBoxContainer" type="VBoxContainer" parent="Control"] -layout_mode = 0 -offset_right = 40.0 -offset_bottom = 40.0 - -[node name="GridContainer" type="GridContainer" parent="Control/VBoxContainer"] +[node name="GridContainer" type="GridContainer" parent="VBoxContainer"] layout_mode = 2 columns = 2 -[node name="ProgrammingLabel" type="Label" parent="Control/VBoxContainer/GridContainer"] +[node name="ProgrammingLabel" type="Label" parent="VBoxContainer/GridContainer"] layout_mode = 2 text = "Programming:" horizontal_alignment = 2 -[node name="ProgrammersLabel" type="Label" parent="Control/VBoxContainer/GridContainer"] +[node name="ProgrammersLabel" type="Label" parent="VBoxContainer/GridContainer"] layout_mode = 2 text = "Ruslan Ignatov" -[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] layout_mode = 2 alignment = 2 -[node name="MainMenuButton" type="Button" parent="Control/VBoxContainer/HBoxContainer"] +[node name="MainMenuButton" type="Button" parent="VBoxContainer/HBoxContainer"] layout_mode = 2 text = "Main Menu" -[connection signal="pressed" from="Control/VBoxContainer/HBoxContainer/MainMenuButton" to="." method="_on_main_menu_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/MainMenuButton" to="." method="_on_main_menu_button_pressed"] diff --git a/menu/main_menu.tscn b/menu/main_menu.tscn index 0b19214..85fd2ff 100644 --- a/menu/main_menu.tscn +++ b/menu/main_menu.tscn @@ -2,40 +2,36 @@ [ext_resource type="Script" uid="uid://dixdfabe2vfsj" path="res://menu/main_menu.gd" id="1_chmv6"] -[node name="MainMenu" type="Node"] -script = ExtResource("1_chmv6") - -[node name="Control" type="Control" parent="."] +[node name="MainMenu" type="Control"] layout_mode = 3 anchors_preset = 0 -offset_right = 40.0 -offset_bottom = 40.0 +script = ExtResource("1_chmv6") -[node name="VBoxContainer" type="VBoxContainer" parent="Control"] +[node name="VBoxContainer" type="VBoxContainer" parent="."] layout_mode = 0 offset_left = 100.0 offset_top = 100.0 offset_right = 179.0 offset_bottom = 236.0 -[node name="ContinueButton" type="Button" parent="Control/VBoxContainer"] +[node name="ContinueButton" type="Button" parent="VBoxContainer"] layout_mode = 2 disabled = true text = "Continue" -[node name="StartButton" type="Button" parent="Control/VBoxContainer"] +[node name="StartButton" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Start" -[node name="OptionsButton" type="Button" parent="Control/VBoxContainer"] +[node name="OptionsButton" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Options" -[node name="QuitButton" type="Button" parent="Control/VBoxContainer"] +[node name="QuitButton" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "Quit" -[connection signal="pressed" from="Control/VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"] -[connection signal="pressed" from="Control/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] -[connection signal="pressed" from="Control/VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"] -[connection signal="pressed" from="Control/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] +[connection signal="pressed" from="VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"] +[connection signal="pressed" from="VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] +[connection signal="pressed" from="VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/menu/options.gd b/menu/options.gd index be5d461..426e476 100644 --- a/menu/options.gd +++ b/menu/options.gd @@ -3,8 +3,8 @@ extends Node signal show_credits signal show_main_menu -@onready var fullscreen_check := $Control/VBoxContainer/OptionsGridContainer/FullscreenCheckButton -@onready var window_factor := $Control/VBoxContainer/OptionsGridContainer/WindowFactorOptionButton +@onready var fullscreen_check := $%FullscreenCheckButton +@onready var window_factor := $%WindowFactorOptionButton func _ready() -> void: diff --git a/menu/options.tscn b/menu/options.tscn index 1114e5d..0efaa84 100644 --- a/menu/options.tscn +++ b/menu/options.tscn @@ -2,39 +2,37 @@ [ext_resource type="Script" uid="uid://ceng1u112aqg0" path="res://menu/options.gd" id="1_61pji"] -[node name="Options" type="Node"] -script = ExtResource("1_61pji") - -[node name="Control" type="Control" parent="."] +[node name="Options" type="Control"] layout_mode = 3 anchors_preset = 0 +script = ExtResource("1_61pji") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 0 offset_left = 100.0 offset_top = 100.0 -offset_right = 140.0 -offset_bottom = 140.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="Control"] -layout_mode = 0 -offset_right = 40.0 -offset_bottom = 40.0 +offset_right = 271.0 +offset_bottom = 194.0 alignment = 1 -[node name="OptionsGridContainer" type="GridContainer" parent="Control/VBoxContainer"] +[node name="OptionsGridContainer" type="GridContainer" parent="VBoxContainer"] layout_mode = 2 columns = 2 -[node name="FullscreenLabel" type="Label" parent="Control/VBoxContainer/OptionsGridContainer"] +[node name="FullscreenLabel" type="Label" parent="VBoxContainer/OptionsGridContainer"] layout_mode = 2 text = "Fullscreen" -[node name="FullscreenCheckButton" type="CheckButton" parent="Control/VBoxContainer/OptionsGridContainer"] +[node name="FullscreenCheckButton" type="CheckButton" parent="VBoxContainer/OptionsGridContainer"] +unique_name_in_owner = true layout_mode = 2 -[node name="WindowFactorLabel" type="Label" parent="Control/VBoxContainer/OptionsGridContainer"] +[node name="WindowFactorLabel" type="Label" parent="VBoxContainer/OptionsGridContainer"] layout_mode = 2 text = "Window Factor" -[node name="WindowFactorOptionButton" type="OptionButton" parent="Control/VBoxContainer/OptionsGridContainer"] +[node name="WindowFactorOptionButton" type="OptionButton" parent="VBoxContainer/OptionsGridContainer"] +unique_name_in_owner = true layout_mode = 2 selected = 0 item_count = 6 @@ -51,19 +49,19 @@ popup/item_4/id = 4 popup/item_5/text = "×6" popup/item_5/id = 5 -[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] layout_mode = 2 alignment = 2 -[node name="CreditsButton" type="Button" parent="Control/VBoxContainer/HBoxContainer"] +[node name="CreditsButton" type="Button" parent="VBoxContainer/HBoxContainer"] layout_mode = 2 text = "Credits" -[node name="BackButton" type="Button" parent="Control/VBoxContainer/HBoxContainer"] +[node name="BackButton" type="Button" parent="VBoxContainer/HBoxContainer"] layout_mode = 2 text = "Back" -[connection signal="toggled" from="Control/VBoxContainer/OptionsGridContainer/FullscreenCheckButton" to="." method="_on_fullscreen_check_button_toggled"] -[connection signal="item_selected" from="Control/VBoxContainer/OptionsGridContainer/WindowFactorOptionButton" to="." method="_on_window_factor_option_button_item_selected"] -[connection signal="pressed" from="Control/VBoxContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"] -[connection signal="pressed" from="Control/VBoxContainer/HBoxContainer/BackButton" to="." method="_on_back_button_pressed"] +[connection signal="toggled" from="VBoxContainer/OptionsGridContainer/FullscreenCheckButton" to="." method="_on_fullscreen_check_button_toggled"] +[connection signal="item_selected" from="VBoxContainer/OptionsGridContainer/WindowFactorOptionButton" to="." method="_on_window_factor_option_button_item_selected"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/BackButton" to="." method="_on_back_button_pressed"] diff --git a/menu/pause_menu.gd b/menu/pause_menu.gd new file mode 100644 index 0000000..74caa8d --- /dev/null +++ b/menu/pause_menu.gd @@ -0,0 +1,12 @@ +extends Node + +signal continue_game +signal show_main_menu + + +func _on_continue_button_pressed() -> void: + continue_game.emit() + + +func _on_main_menu_button_pressed() -> void: + show_main_menu.emit() diff --git a/menu/pause_menu.gd.uid b/menu/pause_menu.gd.uid new file mode 100644 index 0000000..d41f70e --- /dev/null +++ b/menu/pause_menu.gd.uid @@ -0,0 +1 @@ +uid://npqs2m5g5bd6 diff --git a/menu/pause_menu.tscn b/menu/pause_menu.tscn new file mode 100644 index 0000000..4103ec6 --- /dev/null +++ b/menu/pause_menu.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=2 format=3 uid="uid://bclo2wl8ibrcg"] + +[ext_resource type="Script" uid="uid://npqs2m5g5bd6" path="res://menu/pause_menu.gd" id="1_inj1j"] + +[node name="PauseMenu" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_inj1j") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 0 +offset_left = 100.0 +offset_top = 100.0 +offset_right = 196.0 +offset_bottom = 166.0 + +[node name="ContinueButton" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Continue" + +[node name="MainMenuButton" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Main Menu" + +[connection signal="pressed" from="VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"] +[connection signal="pressed" from="VBoxContainer/MainMenuButton" to="." method="_on_main_menu_button_pressed"] diff --git a/project.godot b/project.godot index 73b8549..8ba5f0c 100644 --- a/project.godot +++ b/project.godot @@ -19,7 +19,7 @@ config/icon="res://icon.svg" [autoload] -SettingsManager="*res://settings_manager.gd" +SettingsManager="*res://managers/settings_manager.gd" [debug] @@ -34,6 +34,149 @@ window/stretch/mode="viewport" window/stretch/scale=1.02 window/stretch/scale_mode="integer" +[input] + +menu_up={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) +] +} +menu_down={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) +] +} +menu_left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +] +} +menu_right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +] +} +menu_accept={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194310,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} +menu_decline={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +menu_back={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194308,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +pause={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) +] +} +move_up={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) +] +} +move_down={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) +] +} +move_left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +] +} +move_right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +] +} +shoot_weapon_1={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":2,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} +shoot_weapon_2={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":1,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":2,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null) +] +} +reload_weapon_1={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194442,"key_label":0,"unicode":52,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +reload_weapon_2={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":50,"key_label":0,"unicode":50,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194443,"key_label":0,"unicode":53,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null) +] +} +blink={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":1,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194438,"key_label":0,"unicode":48,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null) +] +} +next_reactor_scheme={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194440,"key_label":0,"unicode":50,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) +] +} +previous_reactor_scheme={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194439,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null) +] +} + [rendering] textures/canvas_textures/default_texture_filter=0