feat: Implement core lobby system including UI, player management, and game mode settings.

This commit is contained in:
2026-03-16 05:21:49 +08:00
parent f4307a8405
commit 71d688ed63
7 changed files with 84 additions and 13 deletions
+12 -1
View File
@@ -370,7 +370,18 @@ func auto_put_item() -> bool:
var pos = neighbor.position
var cell_3d = Vector3i(pos.x, 1, pos.y)
if enhanced_gridmap.get_cell_item(cell_3d) == -1 and not player.is_position_occupied(pos):
valid_put_positions.append(pos)
# TEKTON DOORS: Avoid portal doors
var is_on_portal = false
if LobbyManager.is_game_mode(GameMode.Mode.TEKTON_DOORS):
var doors = get_tree().get_nodes_in_group("PortalDoors")
for door in doors:
var door_grid = enhanced_gridmap.local_to_map(enhanced_gridmap.to_local(door.global_position))
if Vector2i(door_grid.x, door_grid.z) == pos:
is_on_portal = true
break
if not is_on_portal:
valid_put_positions.append(pos)
if valid_put_positions.is_empty():
return false