diff --git a/addons/enhanced_gridmap/meshlibrary/default.tres b/addons/enhanced_gridmap/meshlibrary/default.tres index 5c1d663..cdb133e 100644 --- a/addons/enhanced_gridmap/meshlibrary/default.tres +++ b/addons/enhanced_gridmap/meshlibrary/default.tres @@ -14,7 +14,7 @@ [ext_resource type="Texture2D" uid="uid://dpkx1a780pvwv" path="res://assets/textures/tile_diamond.png" id="10_sx8rm"] [ext_resource type="BoxMesh" uid="uid://fy4bhoeii40c" path="res://addons/enhanced_gridmap/meshlibrary/tile_safe_zone.tres" id="10_uwjsj"] [ext_resource type="BoxMesh" uid="uid://b5cc3prem52r6" path="res://addons/enhanced_gridmap/meshlibrary/tile_freeze.tres" id="11_pgnbl"] -[ext_resource type="BoxMesh" uid="uid://dcjdwbffgtutt" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"] +[ext_resource type="BoxMesh" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_5d0gc"] load_path = "res://.godot/imported/tile_heart.png-deeef50755ca225f028608dfd16900e6.s3tc.ctex" diff --git a/assets/graphics/gui/global_match_timer/timer.png b/assets/graphics/gui/global_match_timer/timer.png new file mode 100644 index 0000000..95885d3 Binary files /dev/null and b/assets/graphics/gui/global_match_timer/timer.png differ diff --git a/assets/graphics/gui/global_match_timer/timer.png.import b/assets/graphics/gui/global_match_timer/timer.png.import new file mode 100644 index 0000000..2303f5a --- /dev/null +++ b/assets/graphics/gui/global_match_timer/timer.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4xpg3j7p7g33" +path="res://.godot/imported/timer.png-0c491719db408b4863803dfb0360b749.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/global_match_timer/timer.png" +dest_files=["res://.godot/imported/timer.png-0c491719db408b4863803dfb0360b749.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/rankings/1st.png b/assets/graphics/gui/rankings/1st.png new file mode 100644 index 0000000..e599fab Binary files /dev/null and b/assets/graphics/gui/rankings/1st.png differ diff --git a/assets/graphics/gui/rankings/1st.png.import b/assets/graphics/gui/rankings/1st.png.import new file mode 100644 index 0000000..a64c044 --- /dev/null +++ b/assets/graphics/gui/rankings/1st.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp0nlmkii1ewp" +path="res://.godot/imported/1st.png-1c963205aee52de3d519c7ad81264061.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/rankings/1st.png" +dest_files=["res://.godot/imported/1st.png-1c963205aee52de3d519c7ad81264061.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/graphics/gui/rankings/2nd.png b/assets/graphics/gui/rankings/2nd.png new file mode 100644 index 0000000..7a99297 Binary files /dev/null and b/assets/graphics/gui/rankings/2nd.png differ diff --git a/assets/graphics/gui/rankings/2nd.png.import b/assets/graphics/gui/rankings/2nd.png.import new file mode 100644 index 0000000..32dd558 --- /dev/null +++ b/assets/graphics/gui/rankings/2nd.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ikek8mcpeob5" +path="res://.godot/imported/2nd.png-f4d74f3e0f79b64b581447bcf54a3ee4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/rankings/2nd.png" +dest_files=["res://.godot/imported/2nd.png-f4d74f3e0f79b64b581447bcf54a3ee4.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/graphics/gui/rankings/3rd.png b/assets/graphics/gui/rankings/3rd.png new file mode 100644 index 0000000..c175d57 Binary files /dev/null and b/assets/graphics/gui/rankings/3rd.png differ diff --git a/assets/graphics/gui/rankings/3rd.png.import b/assets/graphics/gui/rankings/3rd.png.import new file mode 100644 index 0000000..4301db6 --- /dev/null +++ b/assets/graphics/gui/rankings/3rd.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f5mgglfrifjd" +path="res://.godot/imported/3rd.png-3cb9417b465e45d108dc5bb387e9572c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/rankings/3rd.png" +dest_files=["res://.godot/imported/3rd.png-3cb9417b465e45d108dc5bb387e9572c.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/graphics/gui/rankings/4th.png b/assets/graphics/gui/rankings/4th.png new file mode 100644 index 0000000..e14d643 Binary files /dev/null and b/assets/graphics/gui/rankings/4th.png differ diff --git a/assets/graphics/gui/rankings/4th.png.import b/assets/graphics/gui/rankings/4th.png.import new file mode 100644 index 0000000..1f5094b --- /dev/null +++ b/assets/graphics/gui/rankings/4th.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l2f7pdckhkiq" +path="res://.godot/imported/4th.png-cf725336a34d807bb6fe770d072d01c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/rankings/4th.png" +dest_files=["res://.godot/imported/4th.png-cf725336a34d807bb6fe770d072d01c9.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/graphics/gui/stop_timer/Segment0_empty.png b/assets/graphics/gui/stop_timer/Segment0_empty.png new file mode 100644 index 0000000..e3bc3f0 Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment0_empty.png differ diff --git a/assets/graphics/gui/stop_timer/Segment0_empty.png.import b/assets/graphics/gui/stop_timer/Segment0_empty.png.import new file mode 100644 index 0000000..0501b45 --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment0_empty.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bafocgx2apwjm" +path="res://.godot/imported/Segment0_empty.png-02d1282f68628d7399e2022a7cdcf57b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment0_empty.png" +dest_files=["res://.godot/imported/Segment0_empty.png-02d1282f68628d7399e2022a7cdcf57b.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/stop_timer/Segment0_filled.png b/assets/graphics/gui/stop_timer/Segment0_filled.png new file mode 100644 index 0000000..933953d Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment0_filled.png differ diff --git a/assets/graphics/gui/stop_timer/Segment0_filled.png.import b/assets/graphics/gui/stop_timer/Segment0_filled.png.import new file mode 100644 index 0000000..383979d --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment0_filled.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://df7pe5qch1mgo" +path="res://.godot/imported/Segment0_filled.png-d73cab52ae2afc2297535c50215cb02a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment0_filled.png" +dest_files=["res://.godot/imported/Segment0_filled.png-d73cab52ae2afc2297535c50215cb02a.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/stop_timer/Segment1_empty.png b/assets/graphics/gui/stop_timer/Segment1_empty.png new file mode 100644 index 0000000..6ccead2 Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment1_empty.png differ diff --git a/assets/graphics/gui/stop_timer/Segment1_empty.png.import b/assets/graphics/gui/stop_timer/Segment1_empty.png.import new file mode 100644 index 0000000..8f9a6e4 --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment1_empty.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbgdkky8ballo" +path="res://.godot/imported/Segment1_empty.png-8615d42cb87c232b8d0f8da85c54fbd3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment1_empty.png" +dest_files=["res://.godot/imported/Segment1_empty.png-8615d42cb87c232b8d0f8da85c54fbd3.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/stop_timer/Segment1_filled.png b/assets/graphics/gui/stop_timer/Segment1_filled.png new file mode 100644 index 0000000..32de640 Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment1_filled.png differ diff --git a/assets/graphics/gui/stop_timer/Segment1_filled.png.import b/assets/graphics/gui/stop_timer/Segment1_filled.png.import new file mode 100644 index 0000000..846c685 --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment1_filled.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cl41oty01h8bj" +path="res://.godot/imported/Segment1_filled.png-eb120a80201fda74a35fe70fe663332b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment1_filled.png" +dest_files=["res://.godot/imported/Segment1_filled.png-eb120a80201fda74a35fe70fe663332b.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/stop_timer/Segment2_empty.png b/assets/graphics/gui/stop_timer/Segment2_empty.png new file mode 100644 index 0000000..3936809 Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment2_empty.png differ diff --git a/assets/graphics/gui/stop_timer/Segment2_empty.png.import b/assets/graphics/gui/stop_timer/Segment2_empty.png.import new file mode 100644 index 0000000..5106427 --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment2_empty.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crd21ry2k8cn2" +path="res://.godot/imported/Segment2_empty.png-f79ca3df2aaef2d38d4dcdea7d2ffadf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment2_empty.png" +dest_files=["res://.godot/imported/Segment2_empty.png-f79ca3df2aaef2d38d4dcdea7d2ffadf.ctex"] + +[params] + +compress/mode=4 +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/graphics/gui/stop_timer/Segment2_filled.png b/assets/graphics/gui/stop_timer/Segment2_filled.png new file mode 100644 index 0000000..bfd5e1c Binary files /dev/null and b/assets/graphics/gui/stop_timer/Segment2_filled.png differ diff --git a/assets/graphics/gui/stop_timer/Segment2_filled.png.import b/assets/graphics/gui/stop_timer/Segment2_filled.png.import new file mode 100644 index 0000000..79fb566 --- /dev/null +++ b/assets/graphics/gui/stop_timer/Segment2_filled.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://umdyt5xdplay" +path="res://.godot/imported/Segment2_filled.png-16ee171552cb4f4d72548f53a9479c19.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/gui/stop_timer/Segment2_filled.png" +dest_files=["res://.godot/imported/Segment2_filled.png-16ee171552cb4f4d72548f53a9479c19.ctex"] + +[params] + +compress/mode=4 +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/scenes/main.gd b/scenes/main.gd index 0f16cf4..613e511 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -456,7 +456,7 @@ func _setup_global_match_timer_ui(): # Label var label = Label.new() label.name = "TimerLabel" - label.text = "3:00" + label.text = "03:00" label.add_theme_font_size_override("font_size", 28) label.add_theme_color_override("font_color", Color(0.647, 0.996, 0.224)) label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER @@ -1927,7 +1927,7 @@ func _on_global_timer_updated(time_remaining: float): if timer_label: var minutes = int(time_remaining) / 60 var seconds = int(time_remaining) % 60 - timer_label.text = "%d:%02d" % [minutes, seconds] + timer_label.text = "%02d:%02d" % [minutes, seconds] # Trigger countdown animations (30s and 15s) if int(time_remaining) == 30 and int(time_remaining + 0.1) > 30: diff --git a/scenes/main.tscn b/scenes/main.tscn index 33c213a..8f75ef8 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -14,15 +14,23 @@ [ext_resource type="Texture2D" uid="uid://68x88jj25yxg" path="res://assets/textures/Adjacent.png" id="9_6gcb6"] [ext_resource type="Texture2D" uid="uid://dasaeaytvhll0" path="res://assets/models/pboard/AdjacentRect.tres" id="9_aspsw"] [ext_resource type="FontFile" uid="uid://xnjx058n4tsw" path="res://assets/fonts/Nougat-ExtraBlack.ttf" id="13_j8jky"] +[ext_resource type="Texture2D" uid="uid://bafocgx2apwjm" path="res://assets/graphics/gui/stop_timer/Segment0_empty.png" id="14_fv21b"] +[ext_resource type="Texture2D" uid="uid://c4xpg3j7p7g33" path="res://assets/graphics/gui/global_match_timer/timer.png" id="14_tel4y"] [ext_resource type="Texture2D" uid="uid://73ayhl1lqdpt" path="res://assets/graphics/gui/gauge/PowerLabel.png" id="14_vxglm"] [ext_resource type="Texture2D" uid="uid://dcoaeof23pt3c" path="res://assets/graphics/gui/gauge/Segment0_empty.png" id="15_2f3dj"] +[ext_resource type="Texture2D" uid="uid://cbgdkky8ballo" path="res://assets/graphics/gui/stop_timer/Segment1_empty.png" id="15_tel4y"] +[ext_resource type="Texture2D" uid="uid://crd21ry2k8cn2" path="res://assets/graphics/gui/stop_timer/Segment2_empty.png" id="16_qkpxi"] [ext_resource type="Texture2D" uid="uid://ctgxeo2i3vcfq" path="res://assets/graphics/gui/gauge/Segment1_empty.png" id="16_yq6so"] [ext_resource type="Texture2D" uid="uid://djbin5556lwsx" path="res://assets/graphics/gui/gauge/Segment2_empty.png" id="17_fv21b"] [ext_resource type="Theme" uid="uid://0dhxl4ohyxh8" path="res://assets/graphics/game_setting/setting_theme.tres" id="18_pm3ni"] [ext_resource type="Texture2D" uid="uid://ba80xnybpixw2" path="res://assets/graphics/touch_control/take_tile.png" id="25_qkpxi"] [ext_resource type="Texture2D" uid="uid://bsgqrjx2ity4c" path="res://assets/graphics/touch_control/speed.png" id="26_2f3dj"] [ext_resource type="Texture2D" uid="uid://pwxo4lb87yi" path="res://assets/graphics/touch_control/put_tile.png" id="26_5q0nq"] +[ext_resource type="Texture2D" uid="uid://cp0nlmkii1ewp" path="res://assets/graphics/gui/rankings/1st.png" id="26_j8jky"] [ext_resource type="Texture2D" uid="uid://umw3e8nfe3vr" path="res://assets/graphics/touch_control/attack_mode.png" id="27_dgi5k"] +[ext_resource type="Texture2D" uid="uid://cfpxknbdsk4u" path="res://assets/graphics/character_selection/sc_characters/sc_unknown.png" id="27_j8jky"] +[ext_resource type="Texture2D" uid="uid://ikek8mcpeob5" path="res://assets/graphics/gui/rankings/2nd.png" id="28_fuf3a"] +[ext_resource type="Texture2D" uid="uid://f5mgglfrifjd" path="res://assets/graphics/gui/rankings/3rd.png" id="29_pibwh"] [ext_resource type="Texture2D" uid="uid://biun2yvglxgij" path="res://assets/graphics/touch_control/grab_tekton.png" id="36_pibwh"] [ext_resource type="Script" uid="uid://86ikh0wuqk7v" path="res://scripts/ui/powerup_inventory_ui.gd" id="powerup_ui_script"] [ext_resource type="Script" uid="uid://b54tfa0n6kogi" path="res://scripts/managers/touch_controls.gd" id="touch_manager"] @@ -51,6 +59,21 @@ corner_radius_top_right = 8 corner_radius_bottom_right = 8 corner_radius_bottom_left = 8 +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_c6pm6"] +content_margin_bottom = 20.0 +texture = ExtResource("14_tel4y") + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5q0nq"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_kmb1v"] +texture = ExtResource("14_fv21b") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_fuf3a"] +texture = ExtResource("15_tel4y") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pibwh"] +texture = ExtResource("16_qkpxi") + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_tel4y"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qkpxi"] @@ -67,22 +90,30 @@ texture = ExtResource("17_fv21b") [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1cewu"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kmb1v"] -content_margin_left = 16.0 -content_margin_top = 16.0 -content_margin_right = 16.0 -content_margin_bottom = 16.0 -bg_color = Color(0, 0, 0, 0.49803922) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 -border_color = Color(0.992, 0.796, 0.047, 1) -corner_radius_top_left = 36 -corner_radius_top_right = 36 -corner_radius_bottom_right = 36 -corner_radius_bottom_left = 36 -corner_detail = 12 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_c6pm6"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5he1u"] +content_margin_left = 33.0 +content_margin_bottom = 20.0 +texture = ExtResource("26_j8jky") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5poiv"] +content_margin_left = 33.0 +content_margin_bottom = 20.0 +texture = ExtResource("28_fuf3a") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_2cjbq"] +content_margin_left = 33.0 +content_margin_bottom = 20.0 +texture = ExtResource("29_pibwh") + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_chjal"] +load_path = "res://.godot/imported/4th.png-cf725336a34d807bb6fe770d072d01c9.ctex" + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_cjqg0"] +content_margin_left = 33.0 +content_margin_bottom = 20.0 +texture = SubResource("CompressedTexture2D_chjal") [node name="Main" type="Node3D" unique_id=1566673391] script = ExtResource("1_xcpe3") @@ -1065,32 +1096,61 @@ theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 32 text = "X0" +[node name="GlobalMatchTimer" type="PanelContainer" parent="." unique_id=1714357974] +custom_minimum_size = Vector2(372, 162) +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -111.0 +offset_top = 16.0 +offset_right = 261.0 +offset_bottom = 178.0 +grow_horizontal = 2 +scale = Vector2(0.60000014, 0.60000014) +theme_override_styles/panel = SubResource("StyleBoxTexture_c6pm6") + +[node name="VBox" type="VBoxContainer" parent="GlobalMatchTimer" unique_id=24429117] +layout_mode = 2 +alignment = 1 + +[node name="TimerLabel" type="Label" parent="GlobalMatchTimer/VBox" unique_id=689385799] +layout_mode = 2 +theme_override_fonts/font = ExtResource("13_j8jky") +theme_override_font_sizes/font_size = 72 +text = "03:00" +horizontal_alignment = 1 + [node name="StopTimer" type="PanelContainer" parent="." unique_id=991540081] visible = false anchors_preset = 5 anchor_left = 0.5 anchor_right = 0.5 -offset_left = -58.0 -offset_top = 80.0 -offset_right = 58.0 -offset_bottom = 113.00012 +offset_left = -79.0 +offset_top = 61.0 +offset_right = 307.0 +offset_bottom = 196.0 grow_horizontal = 2 +scale = Vector2(0.56167674, 0.56167674) +theme_override_styles/panel = SubResource("StyleBoxEmpty_5q0nq") [node name="HBox" type="HBoxContainer" parent="StopTimer" unique_id=1541315617] layout_mode = 2 -theme_override_constants/separation = 4 +theme_override_constants/separation = 0 [node name="Segment0" type="Panel" parent="StopTimer/HBox" unique_id=307582302] -custom_minimum_size = Vector2(36, 20) +custom_minimum_size = Vector2(96, 135) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_kmb1v") [node name="Segment1" type="Panel" parent="StopTimer/HBox" unique_id=615805583] -custom_minimum_size = Vector2(36, 20) +custom_minimum_size = Vector2(83, 135) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_fuf3a") [node name="Segment2" type="Panel" parent="StopTimer/HBox" unique_id=1041800993] -custom_minimum_size = Vector2(36, 20) +custom_minimum_size = Vector2(207, 135) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_pibwh") [node name="PowerUpBar" type="PanelContainer" parent="." unique_id=1775378146] anchors_preset = 4 @@ -1214,19 +1274,23 @@ icon_alignment = 1 expand_icon = true [node name="LeaderboardPanel" type="PanelContainer" parent="." unique_id=364209533] +clip_contents = true anchors_preset = 1 anchor_left = 1.0 anchor_right = 1.0 -offset_left = -273.64343 -offset_top = 84.58379 -offset_right = -26.733765 -offset_bottom = 253.5838 +offset_left = -229.0 +offset_top = 95.0 +offset_right = 231.0 +offset_bottom = 610.0 grow_horizontal = 0 rotation = 0.10297442 +scale = Vector2(0.5, 0.5) size_flags_horizontal = 3 size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxEmpty_c6pm6") [node name="MarginContainer" type="MarginContainer" parent="LeaderboardPanel" unique_id=1736331167] +clip_contents = true layout_mode = 2 theme_override_constants/margin_left = 10 theme_override_constants/margin_top = 10 @@ -1234,10 +1298,12 @@ theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 [node name="VBox" type="VBoxContainer" parent="LeaderboardPanel/MarginContainer" unique_id=635878805] +clip_contents = true layout_mode = 2 -theme_override_constants/separation = 4 +theme_override_constants/separation = 5 [node name="Title" type="Label" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1810699363] +visible = false layout_mode = 2 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 @@ -1245,277 +1311,337 @@ text = "🏆 LEADERBOARD" horizontal_alignment = 1 [node name="Separator" type="HSeparator" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1615297005] +visible = false layout_mode = 2 [node name="Entry1" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1372346601] +custom_minimum_size = Vector2(440, 86) layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_5he1u") [node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1" unique_id=617135879] layout_mode = 2 +theme_override_constants/separation = 2 [node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=828754165] -custom_minimum_size = Vector2(50, 0) +custom_minimum_size = Vector2(70, 0) layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 7 theme_override_fonts/font = ExtResource("13_j8jky") -theme_override_font_sizes/font_size = 22 +theme_override_font_sizes/font_size = 36 text = "1st" +horizontal_alignment = 1 +vertical_alignment = 1 [node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=1512406425] -custom_minimum_size = Vector2(24, 24) +custom_minimum_size = Vector2(100, 100) layout_mode = 2 +texture = ExtResource("27_j8jky") expand_mode = 1 stretch_mode = 5 -[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=777741978] -custom_minimum_size = Vector2(100, 0) +[node name="SplitterContainer" type="VBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=1068203836] +layout_mode = 2 +theme_override_constants/separation = 22 +alignment = 1 + +[node name="SectionA" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer" unique_id=1497811185] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionA" unique_id=777741978] +custom_minimum_size = Vector2(150, 0) layout_mode = 2 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "Player 1" +vertical_alignment = 1 clip_text = true -[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=143108099] +[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionA" unique_id=143108099] modulate = Color(1, 1, 1, 0) -custom_minimum_size = Vector2(16, 16) +custom_minimum_size = Vector2(25, 25) layout_mode = 2 expand_mode = 1 stretch_mode = 5 -[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=163441394] +[node name="SectionB" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer" unique_id=1394489174] +clip_contents = true +layout_mode = 2 +alignment = 1 + +[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionB" unique_id=163441394] +custom_minimum_size = Vector2(120, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "0" -horizontal_alignment = 2 -[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox" unique_id=1277323584] +[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionB" unique_id=1277323584] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 +theme_override_constants/separation = 6 + +[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=797392101] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=789099266] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=1018238656] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Entry2" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1047425879] +custom_minimum_size = Vector2(440, 86) +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_5poiv") + +[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2" unique_id=1942870621] layout_mode = 2 theme_override_constants/separation = 2 -alignment = 1 -[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/MiniPowerUpBar" unique_id=797392101] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/MiniPowerUpBar" unique_id=789099266] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry1/HBox/MiniPowerUpBar" unique_id=1018238656] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Entry2" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1213770719] -layout_mode = 2 - -[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2" unique_id=649896203] -layout_mode = 2 - -[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=276085006] -custom_minimum_size = Vector2(50, 0) +[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=1946714047] +custom_minimum_size = Vector2(70, 0) layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 7 theme_override_fonts/font = ExtResource("13_j8jky") -theme_override_font_sizes/font_size = 22 +theme_override_font_sizes/font_size = 36 text = "2nd" +horizontal_alignment = 1 +vertical_alignment = 1 -[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=1005069505] -custom_minimum_size = Vector2(24, 24) +[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=46217188] +custom_minimum_size = Vector2(100, 100) layout_mode = 2 +texture = ExtResource("27_j8jky") expand_mode = 1 stretch_mode = 5 -[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=980063105] -custom_minimum_size = Vector2(100, 0) +[node name="SplitterContainer" type="VBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=2134048836] +layout_mode = 2 +theme_override_constants/separation = 22 +alignment = 1 + +[node name="SectionA" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer" unique_id=1404467822] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionA" unique_id=1475419922] +custom_minimum_size = Vector2(150, 0) layout_mode = 2 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "Player 2" +vertical_alignment = 1 clip_text = true -[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=1898054695] +[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionA" unique_id=414359335] modulate = Color(1, 1, 1, 0) -custom_minimum_size = Vector2(16, 16) +custom_minimum_size = Vector2(25, 25) layout_mode = 2 expand_mode = 1 stretch_mode = 5 -[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=630589738] +[node name="SectionB" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer" unique_id=10662559] +clip_contents = true +layout_mode = 2 +alignment = 1 + +[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionB" unique_id=1606855267] +custom_minimum_size = Vector2(120, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "0" -horizontal_alignment = 2 -[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox" unique_id=719453508] +[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionB" unique_id=219625555] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 +theme_override_constants/separation = 6 + +[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=993398985] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=1149709938] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=1263023268] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Entry3" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1530449446] +custom_minimum_size = Vector2(440, 86) +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_2cjbq") + +[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3" unique_id=1214564201] layout_mode = 2 theme_override_constants/separation = 2 -alignment = 1 -[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/MiniPowerUpBar" unique_id=1487042283] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/MiniPowerUpBar" unique_id=1303981736] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry2/HBox/MiniPowerUpBar" unique_id=564492200] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Entry3" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=988674004] -layout_mode = 2 - -[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3" unique_id=2098193159] -layout_mode = 2 - -[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=940102589] -custom_minimum_size = Vector2(50, 0) +[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=377846102] +custom_minimum_size = Vector2(70, 0) layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 7 theme_override_fonts/font = ExtResource("13_j8jky") -theme_override_font_sizes/font_size = 22 +theme_override_font_sizes/font_size = 36 text = "3rd" +horizontal_alignment = 1 +vertical_alignment = 1 -[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=77999167] -custom_minimum_size = Vector2(24, 24) +[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=383855502] +custom_minimum_size = Vector2(100, 100) layout_mode = 2 +texture = ExtResource("27_j8jky") expand_mode = 1 stretch_mode = 5 -[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=872999463] -custom_minimum_size = Vector2(100, 0) +[node name="SplitterContainer" type="VBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=1969616094] +layout_mode = 2 +theme_override_constants/separation = 22 +alignment = 1 + +[node name="SectionA" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer" unique_id=1627755679] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionA" unique_id=1670492515] +custom_minimum_size = Vector2(150, 0) layout_mode = 2 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "Player 3" +vertical_alignment = 1 clip_text = true -[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=1209672815] +[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionA" unique_id=616766448] modulate = Color(1, 1, 1, 0) -custom_minimum_size = Vector2(16, 16) +custom_minimum_size = Vector2(25, 25) layout_mode = 2 expand_mode = 1 stretch_mode = 5 -[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=508325054] +[node name="SectionB" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer" unique_id=734590478] +clip_contents = true +layout_mode = 2 +alignment = 1 + +[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionB" unique_id=246464797] +custom_minimum_size = Vector2(120, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "0" -horizontal_alignment = 2 -[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox" unique_id=1235595014] +[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionB" unique_id=473697297] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 +theme_override_constants/separation = 6 + +[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=824194655] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=2096101462] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=970732664] +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 + +[node name="Entry4" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=1325242351] +custom_minimum_size = Vector2(440, 86) +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_cjqg0") + +[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4" unique_id=1110779657] layout_mode = 2 theme_override_constants/separation = 2 -alignment = 1 -[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/MiniPowerUpBar" unique_id=1321277357] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/MiniPowerUpBar" unique_id=847275899] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry3/HBox/MiniPowerUpBar" unique_id=701782565] -custom_minimum_size = Vector2(12, 12) -layout_mode = 2 - -[node name="Entry4" type="PanelContainer" parent="LeaderboardPanel/MarginContainer/VBox" unique_id=394023021] -layout_mode = 2 - -[node name="HBox" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4" unique_id=1481335373] -layout_mode = 2 - -[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=539805932] -custom_minimum_size = Vector2(50, 0) +[node name="RankLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=171801451] +custom_minimum_size = Vector2(70, 0) layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 7 theme_override_fonts/font = ExtResource("13_j8jky") -theme_override_font_sizes/font_size = 22 +theme_override_font_sizes/font_size = 36 text = "4th" +horizontal_alignment = 1 +vertical_alignment = 1 -[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=736863972] -custom_minimum_size = Vector2(24, 24) +[node name="PortraitRect" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=1346078271] +custom_minimum_size = Vector2(100, 100) layout_mode = 2 +texture = ExtResource("27_j8jky") expand_mode = 1 stretch_mode = 5 -[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=379355680] -custom_minimum_size = Vector2(100, 0) +[node name="SplitterContainer" type="VBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=249320303] +layout_mode = 2 +theme_override_constants/separation = 22 +alignment = 1 + +[node name="SectionA" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer" unique_id=404059862] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="NameLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionA" unique_id=1153987614] +custom_minimum_size = Vector2(150, 0) layout_mode = 2 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "Player 4" +vertical_alignment = 1 clip_text = true -[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=1812577580] +[node name="GhostIcon" type="TextureRect" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionA" unique_id=316169104] modulate = Color(1, 1, 1, 0) -custom_minimum_size = Vector2(16, 16) +custom_minimum_size = Vector2(25, 25) layout_mode = 2 expand_mode = 1 stretch_mode = 5 -[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=560418594] +[node name="SectionB" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer" unique_id=1754884921] +clip_contents = true +layout_mode = 2 +alignment = 1 + +[node name="ScoreLabel" type="Label" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionB" unique_id=1975407740] +custom_minimum_size = Vector2(120, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_fonts/font = ExtResource("13_j8jky") theme_override_font_sizes/font_size = 22 text = "0" -horizontal_alignment = 2 -[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox" unique_id=2059921947] +[node name="MiniPowerUpBar" type="HBoxContainer" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionB" unique_id=2099215641] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -theme_override_constants/separation = 2 -alignment = 1 +theme_override_constants/separation = 6 -[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/MiniPowerUpBar" unique_id=1695101926] -custom_minimum_size = Vector2(12, 12) +[node name="Segment0" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=941239068] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/MiniPowerUpBar" unique_id=1697515395] -custom_minimum_size = Vector2(12, 12) +[node name="Segment1" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=518121211] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/MiniPowerUpBar" unique_id=500915161] -custom_minimum_size = Vector2(12, 12) +[node name="Segment2" type="Panel" parent="LeaderboardPanel/MarginContainer/VBox/Entry4/HBox/SplitterContainer/SectionB/MiniPowerUpBar" unique_id=206598393] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -[node name="GlobalMatchTimer" type="PanelContainer" parent="." unique_id=1714357974] -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -75.0 -offset_top = 8.0 -offset_right = 73.0 -offset_bottom = 72.0 -grow_horizontal = 2 -theme_override_styles/panel = SubResource("StyleBoxFlat_kmb1v") - -[node name="VBox" type="VBoxContainer" parent="GlobalMatchTimer" unique_id=24429117] -layout_mode = 2 -alignment = 1 - -[node name="TimerLabel" type="Label" parent="GlobalMatchTimer/VBox" unique_id=689385799] -layout_mode = 2 -theme_override_fonts/font = ExtResource("13_j8jky") -theme_override_font_sizes/font_size = 28 -text = "3:00" -horizontal_alignment = 1 - -[node name="SettingsBtn" type="Button" parent="." unique_id=1964422444] -anchors_preset = 1 -anchor_left = 1.0 -anchor_right = 1.0 -offset_left = -78.0 -offset_top = 8.0 -offset_right = -30.0 -offset_bottom = 56.0 -grow_horizontal = 0 -text = "⚙" - [node name="TouchControls" type="Control" parent="." unique_id=1539594058] layout_mode = 3 anchors_preset = 15 @@ -1878,6 +2004,17 @@ custom_minimum_size = Vector2(0, 40) layout_mode = 2 text = "Back" +[node name="SettingsBtn" type="Button" parent="." unique_id=1964422444] +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -78.0 +offset_top = 8.0 +offset_right = -30.0 +offset_bottom = 56.0 +grow_horizontal = 0 +text = "⚙" + [connection signal="text_submitted" from="MessageInput" to="." method="_on_message_input_text_submitted"] [connection signal="pressed" from="PauseMenu/Panel/VBox/ResumeBtn" to="." method="_on_resume_pressed"] [connection signal="pressed" from="PauseMenu/Panel/VBox/HowToPlayBtn" to="." method="_on_how_to_play_pressed"] diff --git a/scripts/managers/stop_n_go_manager.gd b/scripts/managers/stop_n_go_manager.gd index fa4f693..71a5784 100644 --- a/scripts/managers/stop_n_go_manager.gd +++ b/scripts/managers/stop_n_go_manager.gd @@ -51,9 +51,8 @@ var red_tint_overlay: ColorRect # Traffic Light / StopTimer Visuals var stop_timer_node: PanelContainer var stop_segments: Array[Panel] = [] -var lit_style: StyleBoxFlat -var dim_style: StyleBoxFlat -var red_style: StyleBoxFlat +var empty_styles: Array[StyleBoxTexture] = [] +var filled_styles: Array[StyleBoxTexture] = [] func _ready(): set_process(false) @@ -155,29 +154,19 @@ func _update_stop_timer_visuals(): var hbox = stop_timer_node.get_node_or_null("HBox") if hbox: stop_segments.clear() + empty_styles.clear() + filled_styles.clear() for i in range(3): var seg = hbox.get_node_or_null("Segment%d" % i) if seg: stop_segments.append(seg) - - # Prepare styles - lit_style = StyleBoxFlat.new() - lit_style.bg_color = Color.YELLOW - lit_style.border_width_left = 2 - lit_style.border_width_top = 2 - lit_style.border_width_right = 2 - lit_style.border_width_bottom = 2 - lit_style.border_color = Color(1.0, 1.0, 1.0, 0.5) - - dim_style = StyleBoxFlat.new() - dim_style.bg_color = Color(0.1, 0.1, 0.1, 0.8) # Dark dim - - red_style = StyleBoxFlat.new() - red_style.bg_color = Color.RED - red_style.border_width_left = 2 - red_style.border_width_top = 2 - red_style.border_width_right = 2 - red_style.border_width_bottom = 2 - red_style.border_color = Color(1.0, 0.5, 0.5, 0.5) + + var e_style = StyleBoxTexture.new() + e_style.texture = load("res://assets/graphics/gui/stop_timer/Segment%d_empty.png" % i) + empty_styles.append(e_style) + + var f_style = StyleBoxTexture.new() + f_style.texture = load("res://assets/graphics/gui/stop_timer/Segment%d_filled.png" % i) + filled_styles.append(f_style) if not stop_timer_node: return @@ -185,17 +174,17 @@ func _update_stop_timer_visuals(): stop_timer_node.visible = true if current_phase == Phase.GO: - # GO Phase: All dim unless in last 3 seconds (lights up 3, 2, 1s) + # GO Phase: All empty unless in last 3 seconds (lights up 3, 2, 1s) for i in range(stop_segments.size()): var threshold = 3.0 - (i * 1.0) if phase_timer <= threshold: - stop_segments[i].add_theme_stylebox_override("panel", lit_style) + stop_segments[i].add_theme_stylebox_override("panel", filled_styles[i]) else: - stop_segments[i].add_theme_stylebox_override("panel", dim_style) + stop_segments[i].add_theme_stylebox_override("panel", empty_styles[i]) else: # STOP Phase: All Red - for seg in stop_segments: - seg.add_theme_stylebox_override("panel", red_style) + for i in range(stop_segments.size()): + stop_segments[i].add_theme_stylebox_override("panel", filled_styles[i]) func activate_client_side(): is_active = true diff --git a/scripts/managers/ui_manager.gd b/scripts/managers/ui_manager.gd index 75b83dc..be557df 100644 --- a/scripts/managers/ui_manager.gd +++ b/scripts/managers/ui_manager.gd @@ -321,17 +321,6 @@ func setup_leaderboard_ui(main_node): if not leaderboard_panel: push_warning("LeaderboardPanel node not found in scene") return - - # Apply styling to the panel - var style = StyleBoxFlat.new() - style.bg_color = Color(0.08, 0.08, 0.12, 0.92) - style.border_color = Color(0.85, 0.75, 0.25, 1.0) # Gold border - style.set_border_width_all(2) - style.corner_radius_top_left = 8 - style.corner_radius_top_right = 8 - style.corner_radius_bottom_left = 8 - style.corner_radius_bottom_right = 8 - leaderboard_panel.add_theme_stylebox_override("panel", style) func _get_rank_text(rank: int) -> String: match rank: @@ -416,11 +405,11 @@ func initialize_leaderboard_with_players(players: Array): if i < players.size(): var player = players[i] - var name_label = entry.get_node_or_null("NameLabel") - var score_label = entry.get_node_or_null("ScoreLabel") + var name_label = entry.get_node_or_null("SplitterContainer/SectionA/NameLabel") + var score_label = entry.get_node_or_null("SplitterContainer/SectionB/ScoreLabel") var portrait_rect = entry.get_node_or_null("PortraitRect") - var ghost_icon = entry.get_node_or_null("GhostIcon") - var mini_powerup_bar = entry.get_node_or_null("MiniPowerUpBar") + var ghost_icon = entry.get_node_or_null("SplitterContainer/SectionA/GhostIcon") + var mini_powerup_bar = entry.get_node_or_null("SplitterContainer/SectionB/MiniPowerUpBar") if name_label: # Use display_name if available, otherwise fallback to node name @@ -524,15 +513,15 @@ func update_live_leaderboard(players: Array): _: rank_label.text = str(rank) + "th" if player and player.name == str(my_id): - entry_root.modulate = Color(1.0, 1.0, 0.0) # Yellow + entry_root.modulate = Color(0.3, 0.7, 1.0) # Blue highlight for local player else: entry_root.modulate = Color.WHITE - var score_label = entry.get_node_or_null("ScoreLabel") - var ghost_icon = entry.get_node_or_null("GhostIcon") - var mini_powerup_bar = entry.get_node_or_null("MiniPowerUpBar") + var score_label = entry.get_node_or_null("SplitterContainer/SectionB/ScoreLabel") + var ghost_icon = entry.get_node_or_null("SplitterContainer/SectionA/GhostIcon") + var mini_powerup_bar = entry.get_node_or_null("SplitterContainer/SectionB/MiniPowerUpBar") var portrait_rect = entry.get_node_or_null("PortraitRect") - var name_label = entry.get_node_or_null("NameLabel") + var name_label = entry.get_node_or_null("SplitterContainer/SectionA/NameLabel") if name_label: var default_name = player.name if player else "Unknown"