feat: implement initial lobby scene with main menu, server browser, and networking options.

This commit is contained in:
Yogi Wiguna
2026-03-16 16:19:30 +08:00
parent 64dc1de15a
commit eb018903aa
6 changed files with 317 additions and 35 deletions
+8 -6
View File
@@ -1186,13 +1186,15 @@ func find_valid_starting_position() -> Vector2i:
if is_bot:
return _find_random_spawn_position()
else:
# Auto-assign the first available spawn point for fixed spawning
for spawn_pos in spawn_locations:
if not is_position_occupied(spawn_pos):
return spawn_pos
# For Stop n Go, use Column 0
if LobbyManager.game_mode == "Stop n Go":
for spawn_pos in spawn_locations:
if not is_position_occupied(spawn_pos):
return spawn_pos
# Fallback (should typically not be reached if spawn_locations > max_players)
return Vector2i(0, 0)
# For Freemode, try corners if random spawn is OFF, or just find any walkable
# But wait, host will assign most of the time. This is just for initial _ready.
return Vector2i(1, 1) # Default away from the very edge if possible
# highlight_available_spawn_points is no longer needed for manual selection in this mode
func highlight_available_spawn_points():