feat: Implement powerup inventory UI and manager, introducing ghost and area freeze special tiles.

This commit is contained in:
Yogi Wiguna
2026-02-03 17:04:35 +08:00
parent 02d13d9ff5
commit 757051aca8
12 changed files with 297 additions and 69 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2vhatfmufn3d"
path="res://.godot/imported/ghost.png-50b35ecd19732e2631cec7740daf0cec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/touch_control/ghost.png"
dest_files=["res://.godot/imported/ghost.png-50b35ecd19732e2631cec7740daf0cec.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
+13 -13
View File
@@ -1,41 +1,41 @@
[gd_resource type="ArrayMesh" format=4 uid="uid://dr80txgr61irt"]
[gd_resource type="ArrayMesh" format=4 uid="uid://dqo83gvaay6sn"]
[ext_resource type="Texture2D" uid="uid://cp7jtg77hc078" path="res://assets/textures/power_tile/freeze_area_tile.png" id="1_3pijd"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2kxvc"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ev6sk"]
resource_name = "boost"
cull_mode = 2
albedo_color = Color(0.905882, 0.905882, 0.905882, 0.45098)
albedo_color = Color(0.91, 0.91, 0.91, 0.45098)
albedo_texture = ExtResource("1_3pijd")
[sub_resource type="ArrayMesh" id="ArrayMesh_ggb2g"]
[sub_resource type="ArrayMesh" id="ArrayMesh_w3aij"]
_surfaces = [{
"aabb": AABB(-0.282176, -0.000324821, -0.282176, 0.564351, 0.050792, 0.564351),
"format": 34896613377,
"index_count": 36,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAABAAMABQADAAAABQAEAAMAAgAFAAAABAAGAAEAAgABAAYABgAEAAUAAgAHAAUABgAFAAcAAgAGAAcA"),
"index_data": PackedByteArray("BwAEAAUABwAGAAQABQACAAMABQAEAAIAAAAEAAYAAAACAAQABQABAAcABQADAAEAAgABAAMAAgAAAAEAAQAGAAcAAQAAAAYA"),
"name": "boost",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 8,
"vertex_data": PackedByteArray("AAAAAAAAAAD//wAA//8AAP//AAAAAAAAAAAAAP//AAAAAP////8AAAAA/v8AAAAA////////AAD///7/AAAAAA==")
"vertex_data": PackedByteArray("AAD/////AAAAAP7/AAAAAP///////wAA///+/wAAAAD//wAA//8AAP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAA==")
}]
blend_shape_mode = 0
[resource]
resource_name = "tile_tile_coin_002"
resource_name = "tile_star"
_surfaces = [{
"aabb": AABB(-0.282176, -0.000324821, -0.282176, 0.564351, 0.050792, 0.564351),
"attribute_data": PackedByteArray("zuS25MX6sfrF+rbkzuSx+szkQOSr9qfkzOSn5Kv2QOSw+yzlSvvl70r7LOWw++XvSvu0+rD7+u9K+/rvsPu0+pHeot5tIVwhkd5cIW0hot47+6/61PrQ6NT6r/o7+9Do"),
"attribute_data": PackedByteArray("sPss5W0hot47+9DosPv6720hXCE7+6/6sPvl75Heot6r9qfksPu0+pHeXCHM5KfkSvvl78X6sfqr9kDkSvu0+sX6tuTM5EDkSvss5c7ksfrU+tDoSvv6787ktuTU+q/6"),
"format": 34896613399,
"index_count": 36,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUA"),
"material": SubResource("StandardMaterial3D_2kxvc"),
"name": "tile_diamond_holo",
"index_data": PackedByteArray("FgANABAAFgATAA0AEQAIAAsAEQAOAAgAAAAMABIAAAAGAAwADwADABUADwAJAAMABwAEAAoABwABAAQABQAUABcABQACABQA"),
"material": SubResource("StandardMaterial3D_ev6sk"),
"name": "tile_area_freeze",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 24,
"vertex_data": PackedByteArray("AAAAAAAA/z///wAA////P///AAAAAP8/AAAAAP///z///wAAAAD////////////////+/wAA/////wAA/////wAA//////+///8AAP///78AAAAA////v/////////+///8AAAAAAAAAAP7/AAAAAAAAAAAAAAAA///+/wAAAAD/////////vwAA/v8AAP+////+/wAA/78AAP//////vwAA/v8AAKoqAAAAAP//qioAAAAAAACqKgAA/////6oqAAD/fwAA/38AAP9/AAD/f/+//3//v/9//7//f/+//3///////////////////////7//v/+//7//v/+//7//v////3////9/////f////39U1VTVVNVU1VTVVNVU1VTV")
"vertex_data": PackedByteArray("AAD//////78AAP//////vwAA/////6oqAAD+/wAAAAAAAP7/AAD/vwAA/v8AAKoq/////////7//////////v//////////////+/wAAAAD///7/AAD/v////v8AAP////8AAP///7///wAA////P///AAD///////8AAAAAAAD//wAAAAD/P///AAAAAP//AAAAAP///78AAAAA////PwAAAAD//6oqAAAAAAAAAAAAAAAAAAD/PwAAAAAAAKoq/////////39U1VTV/7//v////39U1VTV/////////3//v/9//7//v////3//v/9//////wAA/3//v/9//7//vwAA/3//v/9//////wAA/39U1VTV/7//vwAA/39U1VTV")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_ggb2g")
shadow_mesh = SubResource("ArrayMesh_w3aij")
+3
View File
@@ -1,9 +1,12 @@
[gd_resource type="ArrayMesh" format=4 uid="uid://bqvqj3fhf5x51"]
[ext_resource type="Texture2D" uid="uid://dv0datyodktqu" path="res://assets/textures/power_tile/ghost_tile.png" id="1_avhe4"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ev6sk"]
resource_name = "boost"
cull_mode = 2
albedo_color = Color(0.91, 0.91, 0.91, 0.45098)
albedo_texture = ExtResource("1_avhe4")
[sub_resource type="ArrayMesh" id="ArrayMesh_w3aij"]
_surfaces = [{
Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dv0datyodktqu"
path.s3tc="res://.godot/imported/ghost_tile.png-472e4da46a96c33de653b9d0ab2de179.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/power_tile/ghost_tile.png"
dest_files=["res://.godot/imported/ghost_tile.png-472e4da46a96c33de653b9d0ab2de179.s3tc.ctex"]
[params]
compress/mode=2
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=true
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=0