diff --git a/Resources/Styles/MainMenuButtons.tres b/Resources/Styles/MainMenuButtons.tres index dcc745c5..2af28629 100644 --- a/Resources/Styles/MainMenuButtons.tres +++ b/Resources/Styles/MainMenuButtons.tres @@ -1,7 +1,20 @@ -[gd_resource type="Theme" load_steps=3 format=3 uid="uid://dnsadvmunm76k"] +[gd_resource type="Theme" load_steps=7 format=3 uid="uid://dnsadvmunm76k"] [ext_resource type="FontFile" uid="uid://coek1e2q257pq" path="res://fonts/at01.ttf" id="1_dp7be"] [ext_resource type="StyleBox" uid="uid://ctw2hju32l3rg" path="res://Resources/Styles/PixelStyleBoxRed.tres" id="2_wf67a"] +[ext_resource type="Texture2D" uid="uid://57jo25mrp028" path="res://Sprites/UI/Checkbox.png" id="3_xfr2l"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_jpso0"] +atlas = ExtResource("3_xfr2l") +region = Rect2(8, 0, 8, 8) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0p6en"] +atlas = ExtResource("3_xfr2l") +region = Rect2(0, 0, 8, 8) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xfr2l"] +atlas = ExtResource("3_xfr2l") +region = Rect2(16, 0, 8, 8) [resource] default_font = ExtResource("1_dp7be") @@ -13,12 +26,12 @@ Button/colors/font_hover_color = Color(0, 0.772549, 0, 1) Button/colors/font_hover_pressed_color = Color(0, 0.262745, 0, 1) Button/colors/font_outline_color = Color(0, 0, 0, 1) Button/colors/font_pressed_color = Color(0, 0.870588, 0, 1) -Button/colors/icon_disabled_color = Color(0, 0, 0, 1) -Button/colors/icon_focus_color = Color(0, 0, 0, 1) -Button/colors/icon_hover_color = Color(0, 0, 0, 1) -Button/colors/icon_hover_pressed_color = Color(0, 0, 0, 1) -Button/colors/icon_normal_color = Color(0, 0, 0, 1) -Button/colors/icon_pressed_color = Color(0, 0, 0, 1) +Button/colors/icon_disabled_color = Color(0.235294, 0.235294, 0.235294, 1) +Button/colors/icon_focus_color = Color(1, 1, 1, 1) +Button/colors/icon_hover_color = Color(1, 1, 1, 1) +Button/colors/icon_hover_pressed_color = Color(1, 1, 1, 1) +Button/colors/icon_normal_color = Color(1, 1, 1, 1) +Button/colors/icon_pressed_color = Color(1, 1, 1, 1) Button/constants/align_to_largest_stylebox = 0 Button/constants/h_separation = 0 Button/constants/icon_max_width = 0 @@ -30,3 +43,6 @@ Button/styles/focus = ExtResource("2_wf67a") Button/styles/hover = ExtResource("2_wf67a") Button/styles/normal = ExtResource("2_wf67a") Button/styles/pressed = ExtResource("2_wf67a") +CheckBox/icons/checked = SubResource("AtlasTexture_jpso0") +CheckBox/icons/unchecked = SubResource("AtlasTexture_0p6en") +CheckBox/icons/unchecked_disabled = SubResource("AtlasTexture_xfr2l") diff --git a/Scenes/HUD/CreditsMenu.tscn b/Scenes/HUD/CreditsMenu.tscn index 167d4e0f..23d9933d 100644 --- a/Scenes/HUD/CreditsMenu.tscn +++ b/Scenes/HUD/CreditsMenu.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=9 format=3 uid="uid://cmdf7cbqbxedj"] +[gd_scene load_steps=10 format=3 uid="uid://cmdf7cbqbxedj"] [ext_resource type="Script" uid="uid://bbssj2rkbqysu" path="res://Scripts/UI/CreditsMenu.cs" id="1_7p0um"] [ext_resource type="Resource" uid="uid://cojsc1rtf41i1" path="res://Resources/Credits.tres" id="2_6xeqb"] [ext_resource type="Theme" uid="uid://dnsadvmunm76k" path="res://Resources/Styles/MainMenuButtons.tres" id="2_ahn81"] [ext_resource type="FontFile" uid="uid://ccm3u37q1hvux" path="res://fonts/Xolonium-Regular.ttf" id="3_6xeqb"] [ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="3_xr5nf"] +[ext_resource type="Texture2D" uid="uid://b4fhb0wyc5vw" path="res://Sprites/UI/BackIcon.png" id="5_dgb8a"] [ext_resource type="StyleBox" uid="uid://ctw2hju32l3rg" path="res://Resources/Styles/PixelStyleBoxRed.tres" id="6_v8423"] [ext_resource type="LabelSettings" uid="uid://b7aiiua04uma4" path="res://Resources/Styles/Credits_Section_Style.tres" id="7_5tqy8"] @@ -33,6 +34,7 @@ layout_mode = 2 size_flags_vertical = 4 theme = ExtResource("2_ahn81") text = "Back" +icon = ExtResource("5_dgb8a") [node name="Name" type="Label" parent="HBoxContainer"] layout_mode = 2 diff --git a/Scenes/HUD/MusicRoom.tscn b/Scenes/HUD/MusicRoom.tscn index 19d27170..bb12f741 100644 --- a/Scenes/HUD/MusicRoom.tscn +++ b/Scenes/HUD/MusicRoom.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=3 uid="uid://c84shrj84g4t2"] +[gd_scene load_steps=11 format=3 uid="uid://c84shrj84g4t2"] [ext_resource type="Script" uid="uid://c06tspxwnj7pg" path="res://Scripts/UI/MusicRoom.cs" id="1_u3ui8"] [ext_resource type="Script" uid="uid://cx63lvsuj1787" path="res://Scripts/Resources/MusicResource.cs" id="2_kybwj"] @@ -6,6 +6,7 @@ [ext_resource type="Resource" uid="uid://byo74ews118nl" path="res://Resources/Music/No_Reason.tres" id="3_nkbmj"] [ext_resource type="Texture2D" uid="uid://bpd4ldfmt3s51" path="res://Sprites/UI/Note.png" id="3_u3ui8"] [ext_resource type="Resource" uid="uid://b0aryixgv2vkj" path="res://Resources/Music/No_Restraint.tres" id="4_cv0ke"] +[ext_resource type="Texture2D" uid="uid://b4fhb0wyc5vw" path="res://Sprites/UI/BackIcon.png" id="7_cv0ke"] [ext_resource type="FontFile" uid="uid://ccm3u37q1hvux" path="res://fonts/Xolonium-Regular.ttf" id="7_nkbmj"] [ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="8_nkbmj"] @@ -41,6 +42,7 @@ layout_mode = 2 size_flags_vertical = 4 theme = ExtResource("2_rcbhv") text = "Back" +icon = ExtResource("7_cv0ke") [node name="MusicRoomName" type="Label" parent="VBoxContainer/HBoxContainer"] layout_mode = 2 diff --git a/Scenes/HUD/OptionsMenu.tscn b/Scenes/HUD/OptionsMenu.tscn new file mode 100644 index 00000000..83b161f9 --- /dev/null +++ b/Scenes/HUD/OptionsMenu.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=7 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"] +[ext_resource type="Texture2D" uid="uid://b4fhb0wyc5vw" path="res://Sprites/UI/BackIcon.png" id="2_4kao5"] +[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"] + +[sub_resource type="LabelSettings" id="LabelSettings_4kao5"] +font = ExtResource("2_l5i2j") +font_size = 20 +outline_size = 4 +outline_color = Color(0, 0, 0, 1) + +[node name="OptionsMenu" type="VBoxContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_mpohc") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="BackButton" type="Button" parent="HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 +theme = ExtResource("1_il8fq") +text = "Back" +icon = ExtResource("2_4kao5") + +[node name="MusicRoomName" type="Label" parent="HBoxContainer"] +layout_mode = 2 +text = "Options" +label_settings = SubResource("LabelSettings_4kao5") +horizontal_alignment = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="."] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("3_l5i2j") + +[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"] +layout_mode = 2 +theme = ExtResource("1_il8fq") + +[node name="CheckBox" type="CheckBox" parent="ScrollContainer/VBoxContainer"] +layout_mode = 2 +text = "Something" + +[node name="CheckBox2" type="CheckBox" parent="ScrollContainer/VBoxContainer"] +layout_mode = 2 +text = "Whatever" + +[node name="CheckBox3" type="CheckBox" parent="ScrollContainer/VBoxContainer"] +layout_mode = 2 +disabled = true +text = "Disabled" + +[connection signal="pressed" from="HBoxContainer/BackButton" to="." method="_on_back_button_pressed"] diff --git a/Scenes/HUD/debug_menu.tscn b/Scenes/HUD/debug_menu.tscn index 628ec27e..d054946a 100644 --- a/Scenes/HUD/debug_menu.tscn +++ b/Scenes/HUD/debug_menu.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://bemu3l6b1e84y"] +[gd_scene load_steps=6 format=3 uid="uid://bemu3l6b1e84y"] [ext_resource type="Script" uid="uid://sqhb36u3acw7" path="res://Scripts/UI/DebugMenu.cs" id="1_5vtnj"] [ext_resource type="Theme" uid="uid://dkom8gcup42kd" path="res://Resources/Styles/DebugMenuButtons.tres" id="2_6il8q"] [ext_resource type="Theme" uid="uid://dnsadvmunm76k" path="res://Resources/Styles/MainMenuButtons.tres" id="2_wqb8e"] [ext_resource type="Resource" uid="uid://d1lc8lhq1b05p" path="res://Resources/Debug/DebugLevels.tres" id="3_cvgqx"] +[ext_resource type="Texture2D" uid="uid://d1a0nwd4wdph7" path="res://Sprites/UI/Back_Small.png" id="5_1xl3a"] [node name="DebugMenu" type="VBoxContainer" node_paths=PackedStringArray("ButtonsContainer")] process_mode = 3 @@ -47,6 +48,7 @@ layout_mode = 2 theme = ExtResource("2_wqb8e") theme_override_font_sizes/font_size = 10 text = "Back" +icon = ExtResource("5_1xl3a") [connection signal="toggled" from="HBoxContainer/CheckBox" to="." method="_on_check_box_toggled"] [connection signal="pressed" from="ScrollContainer/Level Select/BackButton" to="." method="_on_back_button_pressed"] diff --git a/Scenes/MainMenu.tscn b/Scenes/MainMenu.tscn index 31f0bcd9..0f497f43 100644 --- a/Scenes/MainMenu.tscn +++ b/Scenes/MainMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://5xajclchk3my"] +[gd_scene load_steps=18 format=3 uid="uid://5xajclchk3my"] [ext_resource type="Script" uid="uid://dql102fvubniv" path="res://Scripts/MainMenu.cs" id="1_702nk"] [ext_resource type="PackedScene" uid="uid://c84shrj84g4t2" path="res://Scenes/HUD/MusicRoom.tscn" id="2_if7li"] @@ -9,6 +9,7 @@ [ext_resource type="PackedScene" uid="uid://cmdf7cbqbxedj" path="res://Scenes/HUD/CreditsMenu.tscn" id="4_8e205"] [ext_resource type="AudioStream" uid="uid://di416g5wgx6j0" path="res://Music/Title.mp3" id="4_i6ku4"] [ext_resource type="Theme" uid="uid://dnsadvmunm76k" path="res://Resources/Styles/MainMenuButtons.tres" id="4_nk7wn"] +[ext_resource type="PackedScene" uid="uid://bnhcgsyh6wfo3" path="res://Scenes/HUD/OptionsMenu.tscn" id="5_7467j"] [ext_resource type="LabelSettings" uid="uid://wr7cb2qa6w71" path="res://Resources/Styles/Title_Text_Style.tres" id="7_loo7a"] [ext_resource type="StyleBox" uid="uid://ctw2hju32l3rg" path="res://Resources/Styles/PixelStyleBoxRed.tres" id="7_rrcx7"] [ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="8_koqhg"] @@ -41,6 +42,7 @@ MusicPlayer = NodePath("AudioStreamPlayer2D") MusicRoomTemplate = ExtResource("2_if7li") DebugMenuTemplate = ExtResource("9_nwlsr") CreditsMenuTemplate = ExtResource("4_8e205") +OptionsMenuTemplate = ExtResource("5_7467j") [node name="TextureRect2" type="TextureRect" parent="."] layout_mode = 0 @@ -168,5 +170,6 @@ theme_override_styles/panel = ExtResource("7_rrcx7") [connection signal="pressed" from="MarginContainer/GridContainer/GameButtons/DebugButton2" to="." method="_on_debug_button_pressed"] [connection signal="pressed" from="MarginContainer/GridContainer/GameButtons/DebugButton" to="." method="_on_debug_button_pressed"] [connection signal="pressed" from="MarginContainer/GridContainer/GameButtons/ExitButton" to="." method="_on_exit_button_pressed"] +[connection signal="pressed" from="MarginContainer/GridContainer/Options/OptionsButton" to="." method="OnOptionsButtonPressed"] [connection signal="pressed" from="MarginContainer/GridContainer/Options/MusicRoomButton" to="." method="_on_music_room_button_pressed"] [connection signal="pressed" from="MarginContainer/GridContainer/Options/CreditsButton" to="." method="OnCreditsButtonPressed"] diff --git a/Scripts/MainMenu.cs b/Scripts/MainMenu.cs index d5e71018..ace49bc7 100644 --- a/Scripts/MainMenu.cs +++ b/Scripts/MainMenu.cs @@ -28,7 +28,10 @@ public partial class MainMenu : Control [ExportCategory("Credits Menu")] [Export] public PackedScene CreditsMenuTemplate { get; set; } - + + [ExportCategory("Options Menu")] + [Export] + public PackedScene OptionsMenuTemplate { get; set; } // Called when the node enters the scene tree for the first time. public override void _Ready() @@ -107,6 +110,11 @@ public partial class MainMenu : Control { SpawnMenu(CreditsMenuTemplate, SubMenuHolder); } + + private void OnOptionsButtonPressed() + { + SpawnMenu(OptionsMenuTemplate, SubMenuHolder); + } private void _on_mainmenu_button_pressed() { diff --git a/Scripts/UI/OptionsMenu.cs b/Scripts/UI/OptionsMenu.cs new file mode 100644 index 00000000..0f0d719e --- /dev/null +++ b/Scripts/UI/OptionsMenu.cs @@ -0,0 +1,9 @@ +namespace Cirno.Scripts.UI; + +public partial class OptionsMenu : MenuBase +{ + public override void _Ready() + { + + } +} \ No newline at end of file diff --git a/Scripts/UI/OptionsMenu.cs.uid b/Scripts/UI/OptionsMenu.cs.uid new file mode 100644 index 00000000..4d159da4 --- /dev/null +++ b/Scripts/UI/OptionsMenu.cs.uid @@ -0,0 +1 @@ +uid://c1874e6ryvd1g diff --git a/Sprites/UI/BackIcon.aseprite b/Sprites/UI/BackIcon.aseprite new file mode 100644 index 00000000..e6fc7d2e --- /dev/null +++ b/Sprites/UI/BackIcon.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a3caf2d635bcd4217ac06ab2b8bc7520a064772eee1ee4a90bf308b896cd341 +size 598 diff --git a/Sprites/UI/BackIcon.png b/Sprites/UI/BackIcon.png new file mode 100644 index 00000000..368c808c --- /dev/null +++ b/Sprites/UI/BackIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76a59abdd5633eb7cff67a2df61e2416afbd6a9f1fd2133dc65228817c3496a6 +size 212 diff --git a/Sprites/UI/BackIcon.png.import b/Sprites/UI/BackIcon.png.import new file mode 100644 index 00000000..267aac36 --- /dev/null +++ b/Sprites/UI/BackIcon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4fhb0wyc5vw" +path="res://.godot/imported/BackIcon.png-7fe37395eb6aedbe633d133b059fffca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/UI/BackIcon.png" +dest_files=["res://.godot/imported/BackIcon.png-7fe37395eb6aedbe633d133b059fffca.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/UI/Back_Small.aseprite b/Sprites/UI/Back_Small.aseprite new file mode 100644 index 00000000..1910ab88 --- /dev/null +++ b/Sprites/UI/Back_Small.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a73bbe7f9dca268407b93f4119ce335d7c83dfc181fc592a3b5f8ec23c8d0ba +size 574 diff --git a/Sprites/UI/Back_Small.png b/Sprites/UI/Back_Small.png new file mode 100644 index 00000000..85072a50 --- /dev/null +++ b/Sprites/UI/Back_Small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ca79b9dcdb1224d7b3a4e866d33d64efb277bcfdecef2f6ad4de8df8f6d9301 +size 158 diff --git a/Sprites/UI/Back_Small.png.import b/Sprites/UI/Back_Small.png.import new file mode 100644 index 00000000..146a11b4 --- /dev/null +++ b/Sprites/UI/Back_Small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1a0nwd4wdph7" +path="res://.godot/imported/Back_Small.png-638215974fab5b8530dc59034dc23ef3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/UI/Back_Small.png" +dest_files=["res://.godot/imported/Back_Small.png-638215974fab5b8530dc59034dc23ef3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/UI/Checkbox.aseprite b/Sprites/UI/Checkbox.aseprite new file mode 100644 index 00000000..8918b48d --- /dev/null +++ b/Sprites/UI/Checkbox.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d698443dd741ad42a476893c618f82a68ccd346ec724d7a0fc5a6ae84ad4d32e +size 722 diff --git a/Sprites/UI/Checkbox.png b/Sprites/UI/Checkbox.png new file mode 100644 index 00000000..0f62804c --- /dev/null +++ b/Sprites/UI/Checkbox.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39abec2799e1a0058f1e49d2a13e1ec5a535bb61d3c0ed1370a2af08cca10e96 +size 203 diff --git a/Sprites/UI/Checkbox.png.import b/Sprites/UI/Checkbox.png.import new file mode 100644 index 00000000..5d0ec2af --- /dev/null +++ b/Sprites/UI/Checkbox.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://57jo25mrp028" +path="res://.godot/imported/Checkbox.png-b9afa89663a94ae9609d6352db66d0c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/UI/Checkbox.png" +dest_files=["res://.godot/imported/Checkbox.png-b9afa89663a94ae9609d6352db66d0c6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1