Key Remapping class

This commit is contained in:
Marco 2025-03-25 18:03:46 +01:00
commit 1ec10b05df
3 changed files with 58 additions and 22 deletions

View file

@ -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"]

View file

@ -0,0 +1,15 @@
using Godot;
using System;
using Godot.Collections;
public partial class KeyRemapping : Container
{
[Export] public Dictionary<StringName, StringName> KeysDict { get; private set; } = new();
public override void _Ready()
{
var remap = GetNode("/root/Remap");
//InputEvent.
}
}

View file

@ -0,0 +1 @@
uid://nqkbxr8s5oqn