From 1ec10b05dfa87ce49ba9508c09f112247fa17bc5 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 25 Mar 2025 18:03:46 +0100 Subject: [PATCH] Key Remapping class --- Scenes/HUD/OptionsMenu.tscn | 64 ++++++++++++++++++++++------------ Scripts/UI/KeyRemapping.cs | 15 ++++++++ Scripts/UI/KeyRemapping.cs.uid | 1 + 3 files changed, 58 insertions(+), 22 deletions(-) create mode 100644 Scripts/UI/KeyRemapping.cs create mode 100644 Scripts/UI/KeyRemapping.cs.uid diff --git a/Scenes/HUD/OptionsMenu.tscn b/Scenes/HUD/OptionsMenu.tscn index 83cb3fc1..c946bde1 100644 --- a/Scenes/HUD/OptionsMenu.tscn +++ b/Scenes/HUD/OptionsMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://bnhcgsyh6wfo3"] +[gd_scene load_steps=10 format=3 uid="uid://bnhcgsyh6wfo3"] [ext_resource type="Theme" uid="uid://dnsadvmunm76k" path="res://Resources/Styles/MainMenuButtons.tres" id="1_il8fq"] [ext_resource type="Script" uid="uid://c1874e6ryvd1g" path="res://Scripts/UI/OptionsMenu.cs" id="1_mpohc"] @@ -6,6 +6,8 @@ [ext_resource type="FontFile" uid="uid://ccm3u37q1hvux" path="res://fonts/Xolonium-Regular.ttf" id="2_l5i2j"] [ext_resource type="StyleBox" uid="uid://ctw2hju32l3rg" path="res://Resources/Styles/PixelStyleBoxRed.tres" id="3_l5i2j"] [ext_resource type="PackedScene" uid="uid://cwhm3802fhdax" path="res://Scenes/HUD/Volume_Slider.tscn" id="6_x23el"] +[ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="7_1neg2"] +[ext_resource type="Script" uid="uid://nqkbxr8s5oqn" path="res://Scripts/UI/KeyRemapping.cs" id="7_mx1xt"] [sub_resource type="LabelSettings" id="LabelSettings_4kao5"] font = ExtResource("2_l5i2j") @@ -20,9 +22,9 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_mpohc") -ResolutionsList = NodePath("ScrollContainer/HBoxContainer/HFlowContainer/Resolution/ResolutionsList") -VSyncToggle = NodePath("ScrollContainer/HBoxContainer/HFlowContainer/VsyncCheckbox") -FullScreenToggle = NodePath("ScrollContainer/HBoxContainer/HFlowContainer/FullScreenCheck") +ResolutionsList = NodePath("ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer/Resolution/ResolutionsList") +VSyncToggle = NodePath("ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer/VsyncCheckbox") +FullScreenToggle = NodePath("ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer/FullScreenCheck") [node name="HBoxContainer" type="HBoxContainer" parent="."] layout_mode = 2 @@ -51,81 +53,99 @@ layout_mode = 2 size_flags_vertical = 3 theme_override_styles/panel = ExtResource("3_l5i2j") -[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"] +layout_mode = 2 + +[node name="GeneralSettings" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme = ExtResource("1_il8fq") -[node name="HFlowContainer" type="HFlowContainer" parent="ScrollContainer/HBoxContainer"] +[node name="HFlowContainer" type="HFlowContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme = ExtResource("1_il8fq") -[node name="Label" type="Label" parent="ScrollContainer/HBoxContainer/HFlowContainer"] +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer"] layout_mode = 2 theme_override_constants/line_spacing = -4 text = "VSync and FullScreen detailed mode selection coming soon" -[node name="Resolution" type="VBoxContainer" parent="ScrollContainer/HBoxContainer/HFlowContainer"] +[node name="Resolution" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer"] visible = false layout_mode = 2 -[node name="Label" type="Label" parent="ScrollContainer/HBoxContainer/HFlowContainer/Resolution"] +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer/Resolution"] layout_mode = 2 text = "Resolution" -[node name="ResolutionsList" type="OptionButton" parent="ScrollContainer/HBoxContainer/HFlowContainer/Resolution"] +[node name="ResolutionsList" type="OptionButton" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer/Resolution"] layout_mode = 2 -[node name="VsyncCheckbox" type="CheckBox" parent="ScrollContainer/HBoxContainer/HFlowContainer"] +[node name="VsyncCheckbox" type="CheckBox" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer"] layout_mode = 2 size_flags_vertical = 0 text = "VSync" -[node name="FullScreenCheck" type="CheckBox" parent="ScrollContainer/HBoxContainer/HFlowContainer"] +[node name="FullScreenCheck" type="CheckBox" parent="ScrollContainer/VBoxContainer/GeneralSettings/HFlowContainer"] layout_mode = 2 size_flags_vertical = 0 text = "Full Screen" -[node name="VBoxContainer3" type="VBoxContainer" parent="ScrollContainer/HBoxContainer"] +[node name="VBoxContainer3" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings"] layout_mode = 2 -[node name="VBoxContainer3" type="VBoxContainer" parent="ScrollContainer/HBoxContainer/VBoxContainer3"] +[node name="VBoxContainer3" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3"] layout_mode = 2 theme = ExtResource("1_il8fq") -[node name="Label" type="Label" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer3"] +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer3"] layout_mode = 2 text = "Master Volume" -[node name="MusicSlider" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer3" instance=ExtResource("6_x23el")] +[node name="MusicSlider" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer3" instance=ExtResource("6_x23el")] layout_mode = 2 -[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/HBoxContainer/VBoxContainer3"] +[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3"] layout_mode = 2 theme = ExtResource("1_il8fq") -[node name="Label" type="Label" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer"] +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer"] layout_mode = 2 text = "Music Volume" -[node name="MusicSlider" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer" instance=ExtResource("6_x23el")] +[node name="MusicSlider" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer" instance=ExtResource("6_x23el")] layout_mode = 2 AudioBusName = &"Music" -[node name="VBoxContainer2" type="VBoxContainer" parent="ScrollContainer/HBoxContainer/VBoxContainer3"] +[node name="VBoxContainer2" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3"] layout_mode = 2 -[node name="Label" type="Label" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer2"] +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer2"] layout_mode = 2 text = "Sound Effects Volume" -[node name="SoundSlider" parent="ScrollContainer/HBoxContainer/VBoxContainer3/VBoxContainer2" instance=ExtResource("6_x23el")] +[node name="SoundSlider" parent="ScrollContainer/VBoxContainer/GeneralSettings/VBoxContainer3/VBoxContainer2" instance=ExtResource("6_x23el")] layout_mode = 2 AudioBusName = &"Effects" +[node name="KeyRemapping" type="VBoxContainer" parent="ScrollContainer/VBoxContainer"] +layout_mode = 2 +script = ExtResource("7_mx1xt") +KeysDict = Dictionary[StringName, StringName]({ +&"ghg": &"hgdf" +}) + +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/KeyRemapping"] +layout_mode = 2 +text = "Key Remapping" +label_settings = ExtResource("7_1neg2") + +[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/KeyRemapping"] +layout_mode = 2 + [connection signal="pressed" from="HBoxContainer/BackButton" to="." method="_on_back_button_pressed"] [connection signal="pressed" from="HBoxContainer/Reset" to="." method="_on_discard_button_pressed"] diff --git a/Scripts/UI/KeyRemapping.cs b/Scripts/UI/KeyRemapping.cs new file mode 100644 index 00000000..66022938 --- /dev/null +++ b/Scripts/UI/KeyRemapping.cs @@ -0,0 +1,15 @@ +using Godot; +using System; +using Godot.Collections; + +public partial class KeyRemapping : Container +{ + [Export] public Dictionary KeysDict { get; private set; } = new(); + + public override void _Ready() + { + var remap = GetNode("/root/Remap"); + //InputEvent. + + } +} diff --git a/Scripts/UI/KeyRemapping.cs.uid b/Scripts/UI/KeyRemapping.cs.uid new file mode 100644 index 00000000..e78fb89a --- /dev/null +++ b/Scripts/UI/KeyRemapping.cs.uid @@ -0,0 +1 @@ +uid://nqkbxr8s5oqn