feat: implement the new "Stop N Go" game mode, including phase management, dynamic safe zones, player missions, and dedicated UI with visual effects.

This commit is contained in:
Yogi Wiguna
2026-03-24 15:16:30 +08:00
parent da9ba9361d
commit 4946f1daa6
30 changed files with 759 additions and 48 deletions
@@ -600,6 +600,10 @@ func clear_path_visualization(unused_floor_idx: int = 0):
for x in range(columns):
for z in range(rows):
var cell_item = get_cell_item(Vector3i(x, 2, z))
# Protect Safe Zone (ID 2) from being cleared by path visualization
if cell_item == 2:
continue
if cell_item == hover_item or cell_item == start_item or cell_item == end_item:
set_cell_item(Vector3i(x, 2, z), -1)
@@ -12,6 +12,7 @@
[ext_resource type="BoxMesh" uid="uid://dy5p77cjb3geo" path="res://addons/enhanced_gridmap/meshlibrary/tile_start.tres" id="9_pgnbl"]
[ext_resource type="ArrayMesh" uid="uid://dtr46jmckif0p" path="res://assets/models/meshes/block.res" id="9_uwjsj"]
[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"]
@@ -80,6 +81,7 @@ item/1/shapes = []
item/1/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/1/navigation_layers = 1
item/2/name = "safe_zone"
item/2/mesh = ExtResource("10_uwjsj")
item/2/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/2/mesh_cast_shadow = 1
item/2/shapes = []
@@ -1,6 +1,7 @@
[gd_resource type="BoxMesh" format=3 uid="uid://fy4bhoeii40c"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ou2ex"]
transparency = 1
albedo_color = Color(0.38039216, 1, 0.33333334, 1)
[resource]