Skip to content

Commit ed934a3

Browse files
Rmojarro1LifeHckr
authored andcommitted
Icons and fix default
Added icons to represent which key correspond to each direction, changes as the user changes the scheme. Fixed a typo that caused it to always default to WASD. Sprite paths are added to the ControlSchemes as a dictionary set. Icons are from this free pack: https://thoseawesomeguys.com/prompts/
1 parent 2b75171 commit ed934a3

29 files changed

Lines changed: 563 additions & 5 deletions

project.godot

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ config_version=5
1010

1111
[application]
1212

13-
config/name="Funk Engine"
1413
run/main_scene="res://scenes/SceneTransitions/TitleScreen.tscn"
1514
config/features=PackedStringArray("4.3", "C#", "Forward Plus")
1615
config/icon="res://scenes/BattleDirector/assets/Character1.png"
@@ -34,7 +33,7 @@ project/assembly_name="Funk Engine"
3433

3534
[game]
3635

37-
input_scheme="QWERT"
36+
input_scheme="ARROWS"
3837

3938
[input]
4039

scenes/NoteManager/scripts/InputHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private void LoadControlScheme()
6363
{
6464
string scheme = ProjectSettings.HasSetting("game/input_scheme")
6565
? (string)ProjectSettings.GetSetting("game/input_scheme")
66-
: "ARROW";
66+
: "ARROWS";
6767
foreach (var arrow in Arrows)
6868
{
6969
var events = InputMap.ActionGetEvents(arrow.Key);

scenes/Remapping/ControlSchemes.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,41 @@ public static class ControlSchemes
3939
}
4040
},
4141
};
42+
43+
public static Dictionary<string, Dictionary<string, string>> SpriteMappings = new Dictionary<
44+
string,
45+
Dictionary<string, string>
46+
>()
47+
{
48+
{
49+
"WASD",
50+
new Dictionary<string, string>()
51+
{
52+
{ "left", "res://scenes/Remapping/assets/A_Key_Light.png" },
53+
{ "right", "res://scenes/Remapping/assets/D_Key_Light.png" },
54+
{ "up", "res://scenes/Remapping/assets/W_Key_Light.png" },
55+
{ "down", "res://scenes/Remapping/assets/S_Key_Light.png" },
56+
}
57+
},
58+
{
59+
"ARROWS",
60+
new Dictionary<string, string>()
61+
{
62+
{ "left", "res://scenes/Remapping/assets/Arrow_Left_Key_Light.png" },
63+
{ "right", "res://scenes/Remapping/assets/Arrow_Right_Key_Light.png" },
64+
{ "up", "res://scenes/Remapping/assets/Arrow_Up_Key_Light.png" },
65+
{ "down", "res://scenes/Remapping/assets/Arrow_Down_Key_Light.png" },
66+
}
67+
},
68+
{
69+
"QWERT",
70+
new Dictionary<string, string>()
71+
{
72+
{ "left", "res://scenes/Remapping/assets/Q_Key_Light.png" },
73+
{ "right", "res://scenes/Remapping/assets/R_Key_Light.png" },
74+
{ "up", "res://scenes/Remapping/assets/E_Key_Light.png" },
75+
{ "down", "res://scenes/Remapping/assets/W_Key_Light.png" },
76+
}
77+
},
78+
};
4279
}

scenes/Remapping/ControlSettings.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,63 @@
33

44
public partial class ControlSettings : Node2D
55
{
6+
[Export]
7+
public Sprite2D leftKey;
8+
9+
[Export]
10+
public Sprite2D rightKey;
11+
12+
[Export]
13+
public Sprite2D upKey;
14+
15+
[Export]
16+
public Sprite2D downKey;
17+
618
public override void _Ready()
719
{
820
GetNode<Button>("Panel/WASDButton").Connect("pressed", Callable.From(OnWASDButtonPressed));
921
GetNode<Button>("Panel/ArrowButton")
1022
.Connect("pressed", Callable.From(OnArrowButtonPressed));
1123
GetNode<Button>("Panel/QWERTButton")
1224
.Connect("pressed", Callable.From(OnQWERTButtonPressed));
25+
26+
string scheme = ProjectSettings.HasSetting("game/input_scheme")
27+
? (string)ProjectSettings.GetSetting("game/input_scheme")
28+
: "ARROWS";
29+
ChangeKeySprites(scheme);
1330
}
1431

1532
private void OnWASDButtonPressed()
1633
{
1734
GetNode<Label>("Panel/Label").Text = "WASD Selected";
1835
ProjectSettings.SetSetting("game/input_scheme", "WASD");
1936
ProjectSettings.Save();
37+
ChangeKeySprites("WASD");
2038
}
2139

2240
private void OnArrowButtonPressed()
2341
{
2442
GetNode<Label>("Panel/Label").Text = "Arrow Selected";
2543
ProjectSettings.SetSetting("game/input_scheme", "ARROWS");
2644
ProjectSettings.Save();
45+
ChangeKeySprites("ARROWS");
2746
}
2847

2948
private void OnQWERTButtonPressed()
3049
{
3150
GetNode<Label>("Panel/Label").Text = "QWERT Selected";
3251
ProjectSettings.SetSetting("game/input_scheme", "QWERT");
3352
ProjectSettings.Save();
53+
ChangeKeySprites("QWERT");
54+
}
55+
56+
private void ChangeKeySprites(string scheme)
57+
{
58+
var selectedScheme = ControlSchemes.SpriteMappings[scheme];
59+
GD.Print(scheme);
60+
leftKey.Texture = GD.Load<Texture2D>(selectedScheme["left"]);
61+
rightKey.Texture = GD.Load<Texture2D>(selectedScheme["right"]);
62+
upKey.Texture = GD.Load<Texture2D>(selectedScheme["up"]);
63+
downKey.Texture = GD.Load<Texture2D>(selectedScheme["down"]);
3464
}
3565
}

scenes/Remapping/Remap.tscn

Lines changed: 86 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1-
[gd_scene load_steps=4 format=3 uid="uid://bew23sumjs0fg"]
1+
[gd_scene load_steps=9 format=3 uid="uid://bew23sumjs0fg"]
22

33
[ext_resource type="Script" path="res://scenes/Remapping/ControlSettings.cs" id="1_ir12b"]
44
[ext_resource type="Script" path="res://scenes/Remapping/ControlSchemes.cs" id="1_n6sxo"]
55
[ext_resource type="Script" path="res://scenes/SceneTransitions/scripts/SceneChange.cs" id="2_oippk"]
6+
[ext_resource type="Texture2D" uid="uid://xtygvpk7s8e4" path="res://scenes/NoteManager/assets/outline_white.png" id="4_se2m3"]
7+
[ext_resource type="Texture2D" uid="uid://cr6wtf6j6dcfg" path="res://scenes/Remapping/assets/Arrow_Left_Key_Light.png" id="5_xn13c"]
8+
[ext_resource type="Texture2D" uid="uid://q14p8ypgc43t" path="res://scenes/Remapping/assets/Arrow_Down_Key_Light.png" id="6_qrl0g"]
9+
[ext_resource type="Texture2D" uid="uid://p06451gq2ujc" path="res://scenes/Remapping/assets/Arrow_Up_Key_Light.png" id="7_1a2jy"]
10+
[ext_resource type="Texture2D" uid="uid://dvlekute37smy" path="res://scenes/Remapping/assets/Arrow_Right_Key_Light.png" id="8_o7swo"]
611

7-
[node name="Remap" type="Node2D"]
12+
[node name="Remap" type="Node2D" node_paths=PackedStringArray("leftKey", "rightKey", "upKey", "downKey")]
813
script = ExtResource("1_ir12b")
14+
leftKey = NodePath("Panel/Control/LeftRemap")
15+
rightKey = NodePath("Panel/Control/RightRemap")
16+
upKey = NodePath("Panel/Control/UpRemap")
17+
downKey = NodePath("Panel/Control/DownRemap")
918

1019
[node name="Panel" type="Panel" parent="."]
1120
offset_left = 4.0
@@ -54,3 +63,78 @@ offset_right = 607.0
5463
offset_bottom = 322.0
5564
text = "Return to Title Screen"
5665
script = ExtResource("2_oippk")
66+
67+
[node name="Control" type="Control" parent="Panel"]
68+
layout_mode = 3
69+
anchors_preset = 0
70+
offset_left = -4.0
71+
offset_top = -4.0
72+
offset_right = 36.0
73+
offset_bottom = 36.0
74+
75+
[node name="Right" type="Sprite2D" parent="Panel/Control"]
76+
position = Vector2(67, 85)
77+
rotation = -3.14159
78+
texture = ExtResource("4_se2m3")
79+
80+
[node name="Left" type="Sprite2D" parent="Panel/Control"]
81+
position = Vector2(67, 139)
82+
rotation = 1.5708
83+
texture = ExtResource("4_se2m3")
84+
85+
[node name="Up" type="Sprite2D" parent="Panel/Control"]
86+
position = Vector2(67, 196)
87+
rotation = -1.5708
88+
texture = ExtResource("4_se2m3")
89+
90+
[node name="Down" type="Sprite2D" parent="Panel/Control"]
91+
position = Vector2(68, 249)
92+
texture = ExtResource("4_se2m3")
93+
94+
[node name="Label" type="Label" parent="Panel/Control"]
95+
offset_left = 95.0
96+
offset_top = 74.0
97+
offset_right = 108.0
98+
offset_bottom = 97.0
99+
text = "="
100+
101+
[node name="Label2" type="Label" parent="Panel/Control"]
102+
offset_left = 94.0
103+
offset_top = 128.0
104+
offset_right = 107.0
105+
offset_bottom = 151.0
106+
text = "="
107+
108+
[node name="Label3" type="Label" parent="Panel/Control"]
109+
offset_left = 96.0
110+
offset_top = 187.0
111+
offset_right = 109.0
112+
offset_bottom = 210.0
113+
text = "="
114+
115+
[node name="Label4" type="Label" parent="Panel/Control"]
116+
offset_left = 96.0
117+
offset_top = 239.0
118+
offset_right = 109.0
119+
offset_bottom = 262.0
120+
text = "="
121+
122+
[node name="LeftRemap" type="Sprite2D" parent="Panel/Control"]
123+
position = Vector2(147, 87)
124+
scale = Vector2(0.62, 0.62)
125+
texture = ExtResource("5_xn13c")
126+
127+
[node name="DownRemap" type="Sprite2D" parent="Panel/Control"]
128+
position = Vector2(148, 139)
129+
scale = Vector2(0.62, 0.62)
130+
texture = ExtResource("6_qrl0g")
131+
132+
[node name="UpRemap" type="Sprite2D" parent="Panel/Control"]
133+
position = Vector2(148, 197)
134+
scale = Vector2(0.62, 0.62)
135+
texture = ExtResource("7_1a2jy")
136+
137+
[node name="RightRemap" type="Sprite2D" parent="Panel/Control"]
138+
position = Vector2(150, 255)
139+
scale = Vector2(0.62, 0.62)
140+
texture = ExtResource("8_o7swo")
1.66 KB
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://ucxkeg8mkugt"
6+
path="res://.godot/imported/A_Key_Light.png-fbe7cdabcae01011395303e3e2b90c6d.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://scenes/Remapping/assets/A_Key_Light.png"
14+
dest_files=["res://.godot/imported/A_Key_Light.png-fbe7cdabcae01011395303e3e2b90c6d.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
1.38 KB
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://q14p8ypgc43t"
6+
path="res://.godot/imported/Arrow_Down_Key_Light.png-e0ef5c9d79e6985f1ac46da1618982ac.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://scenes/Remapping/assets/Arrow_Down_Key_Light.png"
14+
dest_files=["res://.godot/imported/Arrow_Down_Key_Light.png-e0ef5c9d79e6985f1ac46da1618982ac.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1
1.43 KB
Loading

0 commit comments

Comments
 (0)