diff --git a/assets/minigames/minigame_ui/graphic/button_back_disabled.png b/assets/minigames/minigame_ui/graphic/button_back_disabled.png index a7f42cb1..d0e2840e 100644 Binary files a/assets/minigames/minigame_ui/graphic/button_back_disabled.png and b/assets/minigames/minigame_ui/graphic/button_back_disabled.png differ diff --git a/assets/minigames/minigame_ui/graphic/button_back_disabled.png.import b/assets/minigames/minigame_ui/graphic/button_back_disabled.png.import index d65e1efa..7a9c9620 100644 --- a/assets/minigames/minigame_ui/graphic/button_back_disabled.png.import +++ b/assets/minigames/minigame_ui/graphic/button_back_disabled.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://tcapan0mj64o" +uid="uid://bnvx1mujmy3vf" path="res://.godot/imported/button_back_disabled.png-ef5f120ba83ddd342c450eb50b193e29.ctex" metadata={ "vram_texture": false diff --git a/assets/minigames/minigame_ui/graphic/button_back_down.png b/assets/minigames/minigame_ui/graphic/button_back_down.png deleted file mode 100644 index f6deb8d0..00000000 Binary files a/assets/minigames/minigame_ui/graphic/button_back_down.png and /dev/null differ diff --git a/assets/minigames/minigame_ui/graphic/button_back_down.png.import b/assets/minigames/minigame_ui/graphic/button_back_down.png.import deleted file mode 100644 index 1463be1f..00000000 --- a/assets/minigames/minigame_ui/graphic/button_back_down.png.import +++ /dev/null @@ -1,40 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cbhip35yyqneg" -path="res://.godot/imported/button_back_down.png-3f0900b9068506829079db407c662074.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/minigames/minigame_ui/graphic/button_back_down.png" -dest_files=["res://.godot/imported/button_back_down.png-3f0900b9068506829079db407c662074.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -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/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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/assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png b/assets/minigames/minigame_ui/graphic/button_back_normal.png similarity index 100% rename from assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png rename to assets/minigames/minigame_ui/graphic/button_back_normal.png diff --git a/assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png.import b/assets/minigames/minigame_ui/graphic/button_back_normal.png.import similarity index 77% rename from assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png.import rename to assets/minigames/minigame_ui/graphic/button_back_normal.png.import index d44c8363..e04cd6e7 100644 --- a/assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png.import +++ b/assets/minigames/minigame_ui/graphic/button_back_normal.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dj0ygi5q6kbdw" -path="res://.godot/imported/button_back_to_menu_normal.png-3937e868247c4e8ddc265f828a912f4a.ctex" +path="res://.godot/imported/button_back_normal.png-9bac017a20eb6651d27b39324da71af4.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png" -dest_files=["res://.godot/imported/button_back_to_menu_normal.png-3937e868247c4e8ddc265f828a912f4a.ctex"] +source_file="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" +dest_files=["res://.godot/imported/button_back_normal.png-9bac017a20eb6651d27b39324da71af4.ctex"] [params] diff --git a/assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png b/assets/minigames/minigame_ui/graphic/button_back_pressed.png similarity index 100% rename from assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png rename to assets/minigames/minigame_ui/graphic/button_back_pressed.png diff --git a/assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png.import b/assets/minigames/minigame_ui/graphic/button_back_pressed.png.import similarity index 77% rename from assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png.import rename to assets/minigames/minigame_ui/graphic/button_back_pressed.png.import index 21b5edc0..29cd3ab7 100644 --- a/assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png.import +++ b/assets/minigames/minigame_ui/graphic/button_back_pressed.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://gmoc5mxxfqin" -path="res://.godot/imported/button_back_to_menu_pressed.png-968f54e76a7931f9f6c4c3f17bca642d.ctex" +path="res://.godot/imported/button_back_pressed.png-2557e870c079169f2d2bd6a17ce8aeb9.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png" -dest_files=["res://.godot/imported/button_back_to_menu_pressed.png-968f54e76a7931f9f6c4c3f17bca642d.ctex"] +source_file="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" +dest_files=["res://.godot/imported/button_back_pressed.png-2557e870c079169f2d2bd6a17ce8aeb9.ctex"] [params] diff --git a/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png b/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png deleted file mode 100644 index d0e2840e..00000000 Binary files a/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png and /dev/null differ diff --git a/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png.import b/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png.import deleted file mode 100644 index 3f3d52cf..00000000 --- a/assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png.import +++ /dev/null @@ -1,40 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bnvx1mujmy3vf" -path="res://.godot/imported/button_back_to_menu_disabled.png-ff21b7ee1c1b529025d4d11f77098c5a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png" -dest_files=["res://.godot/imported/button_back_to_menu_disabled.png-ff21b7ee1c1b529025d4d11f77098c5a.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -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/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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/assets/minigames/minigame_ui/graphic/button_back_up.png b/assets/minigames/minigame_ui/graphic/button_back_up.png deleted file mode 100644 index 4ae91fe2..00000000 Binary files a/assets/minigames/minigame_ui/graphic/button_back_up.png and /dev/null differ diff --git a/assets/minigames/minigame_ui/graphic/button_back_up.png.import b/assets/minigames/minigame_ui/graphic/button_back_up.png.import deleted file mode 100644 index 7fb0082a..00000000 --- a/assets/minigames/minigame_ui/graphic/button_back_up.png.import +++ /dev/null @@ -1,40 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://wtx3wqs0l4si" -path="res://.godot/imported/button_back_up.png-2aed0e892a1e012a72a4840466cad98c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/minigames/minigame_ui/graphic/button_back_up.png" -dest_files=["res://.godot/imported/button_back_up.png-2aed0e892a1e012a72a4840466cad98c.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -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/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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/sources/gardens/gardens.gd b/sources/gardens/gardens.gd index 51c0a128..ccf5169b 100644 --- a/sources/gardens/gardens.gd +++ b/sources/gardens/gardens.gd @@ -72,8 +72,7 @@ var is_back_button_hold_active: bool = false @onready var minigame_selection: Control = %MinigameSelection @onready var lesson_button: LessonButton = %LessonButton @onready var lesson_button_particles: GPUParticles2D = %LessonButtonParticles -@onready var back_button: TextureButton = %BackButton -@onready var back_button_hold_ring: HoldProgressRing = %BackButtonHoldRing +@onready var back_button: BackButton = %BackButton @onready var right_audio_stream_player: AudioStreamPlayer = $RightAudioStreamPlayer @onready var left_audio_stream_player: AudioStreamPlayer = $LeftAudioStreamPlayer @onready var feedback_audio_stream_player: AudioStreamPlayer = $FeedBackAudioStreamPlayer @@ -802,7 +801,6 @@ static func _generate_lesson_positions(lessons_for_garden: int, garden_index: in func _process(_delta: float) -> void: _process_back_button_hold(_delta) - _update_back_button_hold_ring_transform() locked_line.position.x = - scroll_container.scroll_horizontal unlocked_line.position.x = - scroll_container.scroll_horizontal parallax_background.scroll_offset.x = - scroll_container.scroll_horizontal @@ -816,17 +814,12 @@ func _process_back_button_hold(delta: float) -> void: return back_button_hold_progress_seconds += delta var progress_ratio: float = clampf(back_button_hold_progress_seconds / BACK_BUTTON_HOLD_DURATION_SECONDS, 0.0, 1.0) - back_button_hold_ring.progress_ratio = progress_ratio + back_button.set_hold_progress_ratio(progress_ratio) if progress_ratio >= 1.0: _cancel_back_button_hold() _confirm_back_button_pressed() -func _update_back_button_hold_ring_transform() -> void: - var ring_padding: float = 24.0 - back_button_hold_ring.position = back_button.position - Vector2.ONE * ring_padding - back_button_hold_ring.size = back_button.size + Vector2.ONE * ring_padding * 2.0 - func _get_minigame_layouts() -> Array[MinigameLayout]: return [minigame_layout_1, minigame_layout_2, minigame_layout_3] @@ -1468,8 +1461,7 @@ func _on_back_button_button_down() -> void: return is_back_button_hold_active = true back_button_hold_progress_seconds = 0.0 - back_button_hold_ring.progress_ratio = 0.0 - back_button_hold_ring.visible = true + back_button.begin_hold() func _on_back_button_button_up() -> void: @@ -1479,8 +1471,7 @@ func _on_back_button_button_up() -> void: func _cancel_back_button_hold() -> void: is_back_button_hold_active = false back_button_hold_progress_seconds = 0.0 - back_button_hold_ring.progress_ratio = 0.0 - back_button_hold_ring.visible = false + back_button.cancel_hold() func _on_area_2d_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void: diff --git a/sources/gardens/gardens.tscn b/sources/gardens/gardens.tscn index 51ff73cc..5080c475 100644 --- a/sources/gardens/gardens.tscn +++ b/sources/gardens/gardens.tscn @@ -2,10 +2,7 @@ [ext_resource type="Script" uid="uid://djolw68efn6r5" path="res://sources/gardens/gardens.gd" id="1_qlsw4"] [ext_resource type="Texture2D" uid="uid://jlwblk7lj7vi" path="res://assets/vfx/fx_10.png" id="3_xbvhu"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="4_neut5"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="5_2yuxn"] [ext_resource type="Texture2D" uid="uid://cq5wwf7y1msh7" path="res://assets/minigames/crabs/graphic/gauge_icon_crab_full.png" id="5_h8c5w"] -[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="6_gs6gi"] [ext_resource type="Texture2D" uid="uid://di2qcv6jw8wh0" path="res://assets/minigames/parakeets/graphic/gauge_icon_parakeet_full.png" id="6_hekq6"] [ext_resource type="Texture2D" uid="uid://cq87j1xw4c31r" path="res://assets/minigames/jellyfish/graphic/gauge_icon_jellyfish_full.png" id="6_p30hm"] [ext_resource type="Texture2D" uid="uid://cffuqacgb1jra" path="res://assets/lesson_screen/branches.png" id="7_axgdc"] @@ -30,8 +27,10 @@ [ext_resource type="Texture2D" uid="uid://cqhbpt3lk6f15" path="res://assets/lesson_screen/bottom.png" id="25_tyvq6"] [ext_resource type="AudioStream" uid="uid://dlxvbjp63w6wm" path="res://assets/look_and_learn/effect.wav" id="26_5g3l0"] [ext_resource type="Script" uid="uid://ddew42fnpmsx1" path="res://sources/gardens/minigame_layout.gd" id="28_kvgph"] -[ext_resource type="Script" path="res://sources/ui/hold_progress_ring.gd" id="29_hold_ring"] -[ext_resource type="Shader" uid="uid://bnp4dxce44hcm" path="res://resources/shaders/outline_shader.gdshader" id="29_pew8x"] +[ext_resource type="PackedScene" uid="uid://cyoioissvrkj8" path="res://sources/ui/back_button.tscn" id="29_back_button"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="29_cgp31"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="30_wnxkf"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="31_b65yw"] [ext_resource type="PackedScene" uid="uid://cn2rw06pltyiu" path="res://sources/utils/fx/right.tscn" id="33_5y3ye"] [ext_resource type="Texture2D" uid="uid://iw84x6mx8h2g" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_normal.png" id="41_xcos2"] [ext_resource type="Texture2D" uid="uid://ub1dnysbojn8" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_pressed.png" id="42_l35j3"] @@ -418,28 +417,18 @@ texture = ExtResource("20_elp7t") expand_mode = 1 stretch_mode = 5 -[node name="BackButton" type="TextureButton" parent="CanvasLayer" unique_id=1838227918] -unique_name_in_owner = true +[node name="BackButton" parent="CanvasLayer" unique_id=1838227918 instance=ExtResource("29_back_button")] custom_minimum_size = Vector2(275, 275) offset_left = 50.0 offset_top = 50.0 offset_right = 300.0 offset_bottom = 300.0 size_flags_vertical = 0 -texture_normal = ExtResource("4_neut5") -texture_pressed = ExtResource("5_2yuxn") -texture_disabled = ExtResource("6_gs6gi") +texture_normal = ExtResource("29_cgp31") +texture_pressed = ExtResource("30_wnxkf") +texture_disabled = ExtResource("31_b65yw") stretch_mode = 4 - -[node name="BackButtonHoldRing" type="Control" parent="CanvasLayer" unique_id=418574918] -unique_name_in_owner = true -visible = false -offset_left = 26.0 -offset_top = 26.0 -offset_right = 324.0 -offset_bottom = 324.0 -mouse_filter = 2 -script = ExtResource("29_hold_ring") +ring_padding = 24.0 [node name="KaluluButton" type="TextureButton" parent="CanvasLayer" unique_id=999341786] unique_name_in_owner = true diff --git a/sources/look_and_learn/look_and_learn.gd b/sources/look_and_learn/look_and_learn.gd index 6694d544..5d521ac1 100644 --- a/sources/look_and_learn/look_and_learn.gd +++ b/sources/look_and_learn/look_and_learn.gd @@ -162,5 +162,5 @@ func _back_to_gardens() -> void: get_tree().change_scene_to_file("res://sources/gardens/gardens.tscn") -func _on_garden_button_pressed() -> void: +func _on_back_button_pressed() -> void: _back_to_gardens() diff --git a/sources/look_and_learn/look_and_learn.tscn b/sources/look_and_learn/look_and_learn.tscn index a378aedd..929f97a1 100644 --- a/sources/look_and_learn/look_and_learn.tscn +++ b/sources/look_and_learn/look_and_learn.tscn @@ -2,11 +2,11 @@ [ext_resource type="Script" uid="uid://ylee262nfnsi" path="res://sources/look_and_learn/look_and_learn.gd" id="1_12st1"] [ext_resource type="PackedScene" uid="uid://wdjp1sv55q4f" path="res://sources/menus/components/night_sky/night_sky.tscn" id="2_2efp5"] -[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png" id="3_7ejv4"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="3_7ejv4"] [ext_resource type="PackedScene" uid="uid://dxc82xcl7jncd" path="res://sources/menus/main/plants/palm.tscn" id="4_1m6x7"] -[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png" id="4_adi05"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="4_adi05"] [ext_resource type="PackedScene" uid="uid://nwur175781jf" path="res://sources/menus/main/plants/large_flower.tscn" id="5_bxvlx"] -[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png" id="5_j5vhb"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="5_j5vhb"] [ext_resource type="Texture2D" uid="uid://c1i3kqeg7ifoo" path="res://assets/look_and_learn/video_foreground.png" id="6_8san1"] [ext_resource type="Theme" uid="uid://dqjvrt5nrtwn1" path="res://resources/themes/kalulu_theme.tres" id="6_e2avu"] [ext_resource type="PackedScene" uid="uid://dqtclljq6bvtg" path="res://sources/menus/main/plants/bush.tscn" id="6_ohnh6"] @@ -19,6 +19,7 @@ [ext_resource type="PackedScene" uid="uid://cboa82q0bjlvc" path="res://sources/look_and_learn/tracing_manager.tscn" id="12_fkd0b"] [ext_resource type="Texture2D" uid="uid://cyx6rau3sgwed" path="res://assets/look_and_learn/fx_03.png" id="13_rp6w3"] [ext_resource type="Texture2D" uid="uid://b1227jts6lw67" path="res://assets/theme/play.svg" id="17_dhida"] +[ext_resource type="PackedScene" uid="uid://cyoioissvrkj8" path="res://sources/ui/back_button.tscn" id="18_back_button"] [sub_resource type="Animation" id="Animation_6mi26"] length = 0.001 @@ -851,8 +852,7 @@ text = "o" horizontal_alignment = 1 vertical_alignment = 1 -[node name="GardenButton" type="TextureButton" parent="." unique_id=970416480] -unique_name_in_owner = true +[node name="BackButton" parent="." unique_id=970416480 instance=ExtResource("18_back_button")] custom_minimum_size = Vector2(0, 386) layout_mode = 0 offset_left = 50.0 @@ -863,8 +863,7 @@ size_flags_vertical = 0 texture_normal = ExtResource("3_7ejv4") texture_pressed = ExtResource("4_adi05") texture_disabled = ExtResource("5_j5vhb") -ignore_texture_size = true -stretch_mode = 5 +ring_padding = 16.0 [node name="Frame" type="TextureRect" parent="." unique_id=1803400322] layout_mode = 1 @@ -984,7 +983,7 @@ lifetime = 0.5 process_material = SubResource("ParticleProcessMaterial_vgnm5") [connection signal="finished" from="AudioStreamPlayer" to="." method="_on_audio_stream_player_finished"] -[connection signal="pressed" from="GardenButton" to="." method="_on_garden_button_pressed"] +[connection signal="pressed" from="BackButton" to="." method="_on_back_button_pressed"] [connection signal="finished" from="Frame/Mask/ColorRect/TracingManager" to="." method="_on_tracing_manager_finished"] [connection signal="finished" from="Frame/Mask/VideoStreamPlayer" to="." method="_on_video_stream_player_finished"] [connection signal="pressed" from="GraphemeButton" to="." method="_on_grapheme_button_pressed"] diff --git a/sources/menus/adult_check/adult_check.tscn b/sources/menus/adult_check/adult_check.tscn index a5d99e49..3aa24fdd 100644 --- a/sources/menus/adult_check/adult_check.tscn +++ b/sources/menus/adult_check/adult_check.tscn @@ -2,11 +2,11 @@ [ext_resource type="PackedScene" uid="uid://djduptonofbh4" path="res://sources/menus/components/code_keyboard.tscn" id="1_2c1xf"] [ext_resource type="Script" uid="uid://c8s16jlnw5x7y" path="res://sources/menus/adult_check/adult_check.gd" id="1_wqrmw"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="2_tyffq"] [ext_resource type="PackedScene" uid="uid://wdjp1sv55q4f" path="res://sources/menus/components/night_sky/night_sky.tscn" id="2_whxas"] [ext_resource type="PackedScene" uid="uid://dxc82xcl7jncd" path="res://sources/menus/main/plants/palm.tscn" id="3_pni2u"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="3_ui1cy"] -[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="4_cnq3y"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="5_66qd1"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="6_8202e"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="7_nt72u"] [node name="AdultCheck" type="Control" unique_id=1460828883] layout_mode = 3 @@ -61,7 +61,7 @@ offset_bottom = 1800.0 grow_horizontal = 1 grow_vertical = 0 -[node name="PasswordVisualizer" parent="CodeKeyboard" index="0"] +[node name="PasswordVisualizer" parent="CodeKeyboard" index="0" unique_id=595055886] offset_left = -376.0 offset_top = -164.0 offset_right = 376.0 @@ -87,9 +87,10 @@ layout_mode = 2 layout_mode = 2 size_flags_vertical = 3 size_flags_stretch_ratio = 4.0 -texture_normal = ExtResource("2_tyffq") -texture_pressed = ExtResource("3_ui1cy") -texture_disabled = ExtResource("4_cnq3y") +texture_normal = ExtResource("5_66qd1") +texture_pressed = ExtResource("6_8202e") +texture_disabled = ExtResource("7_nt72u") +ignore_texture_size = true stretch_mode = 4 [connection signal="password_entered" from="CodeKeyboard" to="." method="_on_code_keyboard_password_entered"] diff --git a/sources/menus/login/login.tscn b/sources/menus/login/login.tscn index 4f66cab7..b3669b8d 100644 --- a/sources/menus/login/login.tscn +++ b/sources/menus/login/login.tscn @@ -4,11 +4,11 @@ [ext_resource type="PackedScene" uid="uid://wdjp1sv55q4f" path="res://sources/menus/components/night_sky/night_sky.tscn" id="3_0my6t"] [ext_resource type="PackedScene" uid="uid://blos4rn53qkwg" path="res://sources/minigames/base/kalulu_ingame.tscn" id="3_5b1v0"] [ext_resource type="PackedScene" uid="uid://dxc82xcl7jncd" path="res://sources/menus/main/plants/palm.tscn" id="3_yrwu8"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="4_3vuah"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="5_vd33f"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="5_v3me4"] [ext_resource type="PackedScene" uid="uid://djduptonofbh4" path="res://sources/menus/components/code_keyboard.tscn" id="5_xwrca"] -[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="6_0dhup"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="6_ee48r"] [ext_resource type="Texture2D" uid="uid://iw84x6mx8h2g" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_normal.png" id="7_2wdoi"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="7_k0prv"] [ext_resource type="Texture2D" uid="uid://ub1dnysbojn8" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_pressed.png" id="8_nxlxw"] [ext_resource type="Texture2D" uid="uid://crnxawhf68po3" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_disabled.png" id="9_k74e3"] [ext_resource type="AudioStream" uid="uid://b85wy2h7fmvvf" path="res://assets/menus/login/intro_title_card.mp3" id="24_4xfja"] @@ -66,9 +66,10 @@ custom_minimum_size = Vector2(0, 275) layout_mode = 2 size_flags_vertical = 0 size_flags_stretch_ratio = 4.0 -texture_normal = ExtResource("4_3vuah") -texture_pressed = ExtResource("5_vd33f") -texture_disabled = ExtResource("6_0dhup") +texture_normal = ExtResource("5_v3me4") +texture_pressed = ExtResource("6_ee48r") +texture_disabled = ExtResource("7_k0prv") +ignore_texture_size = true stretch_mode = 4 [node name="KaluluButton" type="TextureButton" parent="InterfaceLeft/Container" unique_id=1514720972] diff --git a/sources/menus/main/main_menu.tscn b/sources/menus/main/main_menu.tscn index a17c255a..d107062e 100644 --- a/sources/menus/main/main_menu.tscn +++ b/sources/menus/main/main_menu.tscn @@ -8,13 +8,11 @@ [ext_resource type="PackedScene" uid="uid://nwur175781jf" path="res://sources/menus/main/plants/large_flower.tscn" id="6_bi65i"] [ext_resource type="Texture2D" uid="uid://cgrl5x2iqbiwg" path="res://assets/menus/main/title.png" id="7_ftt26"] [ext_resource type="Texture2D" uid="uid://cgwun1jhj53bi" path="res://assets/menus/main/play_button.png" id="7_lr7j4"] -[ext_resource type="Script" path="res://sources/menus/main/kalulu_main_menu.gd" id="8_cxg8l"] +[ext_resource type="Script" uid="uid://ci68l5p7n77ym" path="res://sources/menus/main/kalulu_main_menu.gd" id="8_cxg8l"] [ext_resource type="PackedScene" uid="uid://dnuny6200v5b0" path="res://sources/kalulu_animator.tscn" id="10_icqmp"] [ext_resource type="Script" uid="uid://c8yjncc0n0sbu" path="res://sources/menus/main/login.gd" id="12_6bu7q"] [ext_resource type="PackedScene" uid="uid://cr4q0ywceoasx" path="res://sources/utils/keyboard_spacer.tscn" id="13_6pvxs"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="13_j3nb7"] [ext_resource type="Script" uid="uid://dugl3xh4di2a5" path="res://sources/menus/main/language_field.gd" id="13_rs3hd"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="14_3lr3g"] [ext_resource type="Script" uid="uid://ddmyah1o42hwp" path="res://addons/godot-form-validator/form_validator.gd" id="15_e88oj"] [ext_resource type="Theme" uid="uid://dqjvrt5nrtwn1" path="res://resources/themes/kalulu_theme.tres" id="15_pcmnw"] [ext_resource type="Theme" uid="uid://cd7ftmo5x4c2r" path="res://resources/themes/kalulu_theme_big.tres" id="16_bq28s"] @@ -26,6 +24,8 @@ [ext_resource type="Texture2D" uid="uid://bbip3wpyidt1q" path="res://assets/menus/main/play_button_mask.png" id="20_oqrk5"] [ext_resource type="Script" uid="uid://c1cqwb15yoqb3" path="res://addons/godot-form-validator/validators/line_edit_validator.gd" id="21_1bl4i"] [ext_resource type="LabelSettings" uid="uid://ohvlqccl2oog" path="res://resources/themes/error_label_settings.tres" id="24_y5bcl"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="25_q40lo"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="26_1s83n"] [ext_resource type="Script" uid="uid://58twmknv6bl5" path="res://sources/ui/popup.gd" id="26_pm647"] [sub_resource type="Resource" id="Resource_mh75v"] @@ -144,9 +144,6 @@ texture = ExtResource("7_lr7j4") [node name="Sprite" parent="Kalulu" unique_id=877184434 instance=ExtResource("10_icqmp")] position = Vector2(0, -6.10352e-05) scale = Vector2(2, 2) -animation = &"Idle" -frame = 0 -frame_progress = 0.0 [node name="Light" type="PointLight2D" parent="Kalulu" unique_id=985885724] position = Vector2(-5, 377) @@ -369,8 +366,9 @@ layout_mode = 2 [node name="BackButton" type="TextureButton" parent="InterfaceLeft/Container" unique_id=1663636855] layout_mode = 2 size_flags_vertical = 3 -texture_normal = ExtResource("13_j3nb7") -texture_pressed = ExtResource("14_3lr3g") +texture_normal = ExtResource("25_q40lo") +texture_pressed = ExtResource("26_1s83n") +ignore_texture_size = true stretch_mode = 4 [node name="Informations" type="Control" parent="." unique_id=316912755] diff --git a/sources/menus/settings/developer_settings.tscn b/sources/menus/settings/developer_settings.tscn index 41c8dea4..a02255c4 100644 --- a/sources/menus/settings/developer_settings.tscn +++ b/sources/menus/settings/developer_settings.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://b8hlfrsgrkmy"] [ext_resource type="Script" uid="uid://dutga8wms2uy4" path="res://sources/menus/settings/developer_settings.gd" id="1_qqqt3"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="3_vjlw0"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="4_s0ywi"] -[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="5_4q33k"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="2_utgug"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="3_dttok"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="4_bsu7d"] [ext_resource type="PackedScene" uid="uid://bhdh5xfyauss0" path="res://sources/ui/popup.tscn" id="6_7w7ds"] [node name="DeveloperSettings" type="Control" unique_id=2110866691] @@ -43,9 +43,10 @@ theme_override_constants/separation = 20 [node name="BackButton" type="TextureButton" parent="InterfaceLeft/Container" unique_id=1761957378] layout_mode = 2 size_flags_vertical = 3 -texture_normal = ExtResource("3_vjlw0") -texture_pressed = ExtResource("4_s0ywi") -texture_disabled = ExtResource("5_4q33k") +texture_normal = ExtResource("2_utgug") +texture_pressed = ExtResource("3_dttok") +texture_disabled = ExtResource("4_bsu7d") +ignore_texture_size = true stretch_mode = 4 [node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=485492715] diff --git a/sources/menus/settings/teacher_settings.tscn b/sources/menus/settings/teacher_settings.tscn index 4aa0317a..9cd2278e 100644 --- a/sources/menus/settings/teacher_settings.tscn +++ b/sources/menus/settings/teacher_settings.tscn @@ -2,9 +2,9 @@ [ext_resource type="Script" uid="uid://cil0o87dsb7q4" path="res://sources/menus/settings/teacher_settings.gd" id="1_ojivk"] [ext_resource type="PackedScene" uid="uid://wdjp1sv55q4f" path="res://sources/menus/components/night_sky/night_sky.tscn" id="1_v06h8"] -[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="3_hvu1i"] -[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="4_045cm"] -[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="5_e3piv"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="3_i488h"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="4_ys1u2"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="5_y6ou8"] [ext_resource type="PackedScene" uid="uid://bo7rpk4gebh24" path="res://sources/menus/settings/sound_settings_button.tscn" id="6_s8nbl"] [ext_resource type="PackedScene" uid="uid://bhdh5xfyauss0" path="res://sources/ui/popup.tscn" id="7_jetb7"] [ext_resource type="Theme" uid="uid://dqjvrt5nrtwn1" path="res://resources/themes/kalulu_theme.tres" id="8_7h0sa"] @@ -42,9 +42,10 @@ theme_override_constants/separation = 20 [node name="BackButton" type="TextureButton" parent="InterfaceLeft/Container" unique_id=2030686467] layout_mode = 2 size_flags_vertical = 3 -texture_normal = ExtResource("3_hvu1i") -texture_pressed = ExtResource("4_045cm") -texture_disabled = ExtResource("5_e3piv") +texture_normal = ExtResource("3_i488h") +texture_pressed = ExtResource("4_ys1u2") +texture_disabled = ExtResource("5_y6ou8") +ignore_texture_size = true stretch_mode = 4 [node name="VolumeContainer" type="MarginContainer" parent="InterfaceLeft/Container" unique_id=1984502757] diff --git a/sources/minigames/base/base_minigame.gd b/sources/minigames/base/base_minigame.gd index c4ae443f..1e2fcabb 100644 --- a/sources/minigames/base/base_minigame.gd +++ b/sources/minigames/base/base_minigame.gd @@ -454,7 +454,7 @@ func set_current_progression(p_current_progression: int) -> void: #region Connections -func _on_minigame_ui_garden_button_pressed() -> void: +func _on_minigame_ui_back_button_pressed() -> void: _go_back_to_the_garden() update_scores() diff --git a/sources/minigames/base/base_minigame.tscn b/sources/minigames/base/base_minigame.tscn index 92b579c6..ceda0a04 100644 --- a/sources/minigames/base/base_minigame.tscn +++ b/sources/minigames/base/base_minigame.tscn @@ -33,7 +33,7 @@ grow_vertical = 2 [node name="Fireworks" parent="." unique_id=265421763 instance=ExtResource("4_yekwo")] -[connection signal="garden_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_garden_button_pressed"] +[connection signal="back_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_back_button_pressed"] [connection signal="kalulu_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_kalulu_button_pressed"] [connection signal="restart_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_restart_button_pressed"] [connection signal="stimulus_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_stimulus_button_pressed"] diff --git a/sources/minigames/base/minigame_ui.gd b/sources/minigames/base/minigame_ui.gd index df32ad6c..829a29ee 100644 --- a/sources/minigames/base/minigame_ui.gd +++ b/sources/minigames/base/minigame_ui.gd @@ -1,7 +1,7 @@ class_name MinigameUI extends CanvasLayer -signal garden_button_pressed() +signal back_button_pressed() signal stimulus_button_pressed() signal restart_button_pressed() signal kalulu_button_pressed() @@ -9,7 +9,7 @@ signal kalulu_speech_ended() signal pause_ended() const KALULU: GDScript = preload("res://sources/minigames/base/kalulu_ingame.gd") -const GARDEN_BUTTON_HOLD_DURATION_SECONDS: float = 1.0 +const BACK_BUTTON_HOLD_DURATION_SECONDS: float = 1.0 @export var empty_progression_icon: Texture @export var full_progression_icon: Texture @@ -20,11 +20,10 @@ const GARDEN_BUTTON_HOLD_DURATION_SECONDS: float = 1.0 _handle_stimulus_button() var is_paused: bool = false -var garden_button_hold_progress_seconds: float = 0.0 -var is_garden_button_hold_active: bool = false +var back_button_hold_progress_seconds: float = 0.0 +var is_back_button_hold_active: bool = false -@onready var garden_button: TextureButton = %GardenButton -@onready var garden_button_hold_ring: HoldProgressRing = %GardenButtonHoldRing +@onready var back_button: BackButton = %BackButton @onready var stimulus_button: TextureButton = %StimulusButton @onready var pause_button: TextureButton = %PauseButton @onready var kalulu_button: TextureButton = %KaluluButton @@ -38,35 +37,28 @@ var is_garden_button_hold_active: bool = false func _ready() -> void: model_progression_rect.texture = empty_progression_icon _handle_stimulus_button() - _cancel_garden_button_hold() + _cancel_back_button_hold() func _process(delta: float) -> void: - _process_garden_button_hold(delta) - _update_garden_button_hold_ring_transform() + _process_back_button_hold(delta) -func _process_garden_button_hold(delta: float) -> void: - if not is_garden_button_hold_active: +func _process_back_button_hold(delta: float) -> void: + if not is_back_button_hold_active: return - if is_paused or garden_button.disabled: - _cancel_garden_button_hold() + if is_paused or back_button.disabled: + _cancel_back_button_hold() return - if not Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT) or not garden_button.get_global_rect().has_point(get_viewport().get_mouse_position()): - _cancel_garden_button_hold() + if not Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT) or not back_button.get_global_rect().has_point(get_viewport().get_mouse_position()): + _cancel_back_button_hold() return - garden_button_hold_progress_seconds += delta - var progress_ratio: float = clampf(garden_button_hold_progress_seconds / GARDEN_BUTTON_HOLD_DURATION_SECONDS, 0.0, 1.0) - garden_button_hold_ring.progress_ratio = progress_ratio + back_button_hold_progress_seconds += delta + var progress_ratio: float = clampf(back_button_hold_progress_seconds / BACK_BUTTON_HOLD_DURATION_SECONDS, 0.0, 1.0) + back_button.set_hold_progress_ratio(progress_ratio) if progress_ratio >= 1.0: - _cancel_garden_button_hold() - _emit_garden_button_pressed() - - -func _update_garden_button_hold_ring_transform() -> void: - var ring_padding: float = 16.0 - garden_button_hold_ring.position = Vector2.ONE * -ring_padding - garden_button_hold_ring.size = garden_button.size + Vector2.ONE * ring_padding * 2.0 + _cancel_back_button_hold() + _emit_back_button_pressed() func _handle_stimulus_button() -> void: @@ -75,15 +67,15 @@ func _handle_stimulus_button() -> void: #region Locking func lock() -> void: - garden_button.set_disabled(true) - _cancel_garden_button_hold() + back_button.set_disabled(true) + _cancel_back_button_hold() stimulus_button.set_disabled(true) pause_button.set_disabled(true) kalulu_button.set_disabled(true) func unlock() -> void: - garden_button.set_disabled(false) + back_button.set_disabled(false) stimulus_button.set_disabled(false) pause_button.set_disabled(false) kalulu_button.set_disabled(false) @@ -126,28 +118,26 @@ func set_progression(new_progression: int) -> void: #region Left Panel -func _emit_garden_button_pressed() -> void: - garden_button_pressed.emit() +func _emit_back_button_pressed() -> void: + back_button_pressed.emit() -func _on_garden_button_button_down() -> void: - if garden_button.disabled or is_garden_button_hold_active: +func _on_back_button_button_down() -> void: + if back_button.disabled or is_back_button_hold_active: return - is_garden_button_hold_active = true - garden_button_hold_progress_seconds = 0.0 - garden_button_hold_ring.progress_ratio = 0.0 - garden_button_hold_ring.show() + is_back_button_hold_active = true + back_button_hold_progress_seconds = 0.0 + back_button.begin_hold() -func _on_garden_button_button_up() -> void: - _cancel_garden_button_hold() +func _on_back_button_button_up() -> void: + _cancel_back_button_hold() -func _cancel_garden_button_hold() -> void: - is_garden_button_hold_active = false - garden_button_hold_progress_seconds = 0.0 - garden_button_hold_ring.progress_ratio = 0.0 - garden_button_hold_ring.hide() +func _cancel_back_button_hold() -> void: + is_back_button_hold_active = false + back_button_hold_progress_seconds = 0.0 + back_button.cancel_hold() func _on_stimulus_button_pressed() -> void: @@ -169,9 +159,9 @@ func _on_kalulu_button_pressed() -> void: func show_center_menu(show_menu: bool) -> void: center_menu.set_visible(show_menu) - garden_button.set_disabled(show_menu) + back_button.set_disabled(show_menu) if show_menu: - _cancel_garden_button_hold() + _cancel_back_button_hold() stimulus_button.set_disabled(show_menu) kalulu_button.set_disabled(show_menu) pause_button.set_visible(!show_menu) diff --git a/sources/minigames/base/minigame_ui.tscn b/sources/minigames/base/minigame_ui.tscn index d6dacdc6..92fddaa1 100644 --- a/sources/minigames/base/minigame_ui.tscn +++ b/sources/minigames/base/minigame_ui.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://weree6bnlt6f"] [ext_resource type="Script" uid="uid://mlymm66lpbi6" path="res://sources/minigames/base/minigame_ui.gd" id="1_g5fl4"] -[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_normal.png" id="2_p2m3v"] -[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_pressed.png" id="3_po8ds"] -[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png" id="4_7xmkh"] +[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://assets/minigames/minigame_ui/graphic/button_back_normal.png" id="2_p2m3v"] +[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://assets/minigames/minigame_ui/graphic/button_back_pressed.png" id="3_po8ds"] +[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="4_7xmkh"] [ext_resource type="Texture2D" uid="uid://03r3arvu1r2t" path="res://assets/minigames/minigame_ui/graphic/button_shell_normal.png" id="5_d6rvg"] [ext_resource type="Texture2D" uid="uid://clrnqn0fqjx3q" path="res://assets/minigames/minigame_ui/graphic/button_shell_pressed.png" id="6_ojtbv"] [ext_resource type="Texture2D" uid="uid://53f3lscl7tws" path="res://assets/minigames/minigame_ui/graphic/button_shell_disabled.png" id="7_cg081"] @@ -26,7 +26,7 @@ [ext_resource type="Texture2D" uid="uid://cg71a1qmeyls0" path="res://assets/minigames/minigame_ui/graphic/button_play_down.png" id="23_rb4gp"] [ext_resource type="Texture2D" uid="uid://bht8j513507q5" path="res://assets/minigames/minigame_ui/graphic/button_play_disabled.png" id="24_em5b4"] [ext_resource type="Texture2D" uid="uid://c3o1aolewrm4k" path="res://assets/minigames/monkeys/graphic/gauge_icon_monkey_empty.png" id="26_0bgo4"] -[ext_resource type="Script" path="res://sources/ui/hold_progress_ring.gd" id="26_hold_ring"] +[ext_resource type="PackedScene" uid="uid://cyoioissvrkj8" path="res://sources/ui/back_button.tscn" id="26_back_button"] [ext_resource type="Texture2D" uid="uid://c3okdxpi317x5" path="res://assets/minigames/monkeys/graphic/gauge_icon_monkey_full.png" id="27_eee4l"] [node name="MinigameUI" type="CanvasLayer" unique_id=1395941266] @@ -52,8 +52,7 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 -[node name="GardenButton" type="TextureButton" parent="MainControl/Interface" unique_id=1647258232] -unique_name_in_owner = true +[node name="BackButton" parent="MainControl/Interface" unique_id=1647258232 instance=ExtResource("26_back_button")] layout_mode = 0 offset_left = 50.0 offset_top = 50.0 @@ -63,19 +62,7 @@ size_flags_vertical = 3 texture_normal = ExtResource("2_p2m3v") texture_pressed = ExtResource("3_po8ds") texture_disabled = ExtResource("4_7xmkh") -ignore_texture_size = true -stretch_mode = 5 - -[node name="GardenButtonHoldRing" type="Control" parent="MainControl/Interface/GardenButton" unique_id=1134742901] -unique_name_in_owner = true -visible = false -anchors_preset = 0 -offset_left = -16.0 -offset_top = -16.0 -offset_right = 16.0 -offset_bottom = 16.0 -mouse_filter = 2 -script = ExtResource("26_hold_ring") +ring_padding = 16.0 [node name="StimulusButton" type="TextureButton" parent="MainControl/Interface" unique_id=2016416103] unique_name_in_owner = true @@ -259,8 +246,8 @@ unique_name_in_owner = true visible = false layout_mode = 1 -[connection signal="button_down" from="MainControl/Interface/GardenButton" to="." method="_on_garden_button_button_down"] -[connection signal="button_up" from="MainControl/Interface/GardenButton" to="." method="_on_garden_button_button_up"] +[connection signal="button_down" from="MainControl/Interface/BackButton" to="." method="_on_back_button_button_down"] +[connection signal="button_up" from="MainControl/Interface/BackButton" to="." method="_on_back_button_button_up"] [connection signal="pressed" from="MainControl/Interface/StimulusButton" to="." method="_on_stimulus_button_pressed"] [connection signal="pressed" from="MainControl/Interface/PauseButton" to="." method="_on_pause_button_pressed"] [connection signal="pressed" from="MainControl/Interface/KaluluButton" to="." method="_on_kalulu_button_pressed"] diff --git a/sources/ui/back_button.gd b/sources/ui/back_button.gd new file mode 100644 index 00000000..27148b19 --- /dev/null +++ b/sources/ui/back_button.gd @@ -0,0 +1,38 @@ +class_name BackButton +extends TextureButton + +@export var ring_padding: float = 16.0: + set(value): + ring_padding = value + if is_node_ready(): + _update_ring_layout() + +@onready var hold_ring: HoldProgressRing = %BackButtonHoldRing + + +func _ready() -> void: + _update_ring_layout() + + +func _notification(what: int) -> void: + if what == NOTIFICATION_RESIZED and is_node_ready(): + _update_ring_layout() + + +func begin_hold() -> void: + hold_ring.progress_ratio = 0.0 + hold_ring.show() + + +func cancel_hold() -> void: + hold_ring.progress_ratio = 0.0 + hold_ring.hide() + + +func set_hold_progress_ratio(progress_ratio: float) -> void: + hold_ring.progress_ratio = progress_ratio + + +func _update_ring_layout() -> void: + hold_ring.position = Vector2.ONE * -ring_padding + hold_ring.size = size + Vector2.ONE * ring_padding * 2.0 diff --git a/sources/ui/back_button.gd.uid b/sources/ui/back_button.gd.uid new file mode 100644 index 00000000..f4fc9cec --- /dev/null +++ b/sources/ui/back_button.gd.uid @@ -0,0 +1 @@ +uid://dafg6jl2hl0iy diff --git a/sources/ui/back_button.tscn b/sources/ui/back_button.tscn new file mode 100644 index 00000000..2878516a --- /dev/null +++ b/sources/ui/back_button.tscn @@ -0,0 +1,16 @@ +[gd_scene format=3 uid="uid://cyoioissvrkj8"] + +[ext_resource type="Script" uid="uid://dafg6jl2hl0iy" path="res://sources/ui/back_button.gd" id="1_back_button"] +[ext_resource type="Script" path="res://sources/ui/hold_progress_ring.gd" id="2_hold_ring"] + +[node name="BackButton" type="TextureButton"] +unique_name_in_owner = true +script = ExtResource("1_back_button") +ignore_texture_size = true +stretch_mode = 5 + +[node name="BackButtonHoldRing" type="Control" parent="."] +unique_name_in_owner = true +visible = false +mouse_filter = 2 +script = ExtResource("2_hold_ring")