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
+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 = [{