feat: implement obstacle manager for randomized static wall spawning, integrate into main scene, and add stop-n-go manager.
This commit is contained in:
@@ -11,6 +11,7 @@ var screen_shake_manager
|
||||
var touch_controls
|
||||
var camera_context_manager
|
||||
var stop_n_go_manager
|
||||
var obstacle_manager
|
||||
|
||||
# Minimal local state
|
||||
var _connection_check_timer: float = 0.0
|
||||
@@ -117,6 +118,12 @@ func _init_managers():
|
||||
add_child(camera_context_manager)
|
||||
camera_context_manager.initialize($Camera3D200, screen_shake_manager)
|
||||
|
||||
# Obstacle manager for dynamic walls
|
||||
obstacle_manager = load("res://scripts/managers/obstacle_manager.gd").new()
|
||||
obstacle_manager.name = "ObstacleManager"
|
||||
add_child(obstacle_manager)
|
||||
obstacle_manager.initialize(self, $EnhancedGridMap)
|
||||
|
||||
# Connect signals for UI updates
|
||||
goals_cycle_manager.timer_updated.connect(_on_timer_updated)
|
||||
goals_cycle_manager.score_updated.connect(_on_score_updated)
|
||||
@@ -591,6 +598,14 @@ func _start_game():
|
||||
_assign_random_spawn_positions()
|
||||
|
||||
# PRE-GAME COUNTDOWN (3s)
|
||||
# Spawn static obstacles before countdown starts
|
||||
if obstacle_manager:
|
||||
obstacle_manager.spawn_random_obstacles(15)
|
||||
|
||||
# Spawn mission tiles BEFORE countdown but AFTER walls (Stop n Go only)
|
||||
if LobbyManager.game_mode == "Stop n Go" and stop_n_go_manager:
|
||||
stop_n_go_manager.setup_mission_tiles()
|
||||
|
||||
await _start_pre_game_countdown()
|
||||
|
||||
GameStateManager.start_game()
|
||||
@@ -623,6 +638,7 @@ func _start_game():
|
||||
|
||||
# Spawn Tekton NPC
|
||||
spawn_tekton_npc()
|
||||
|
||||
|
||||
func _assign_random_spawn_positions():
|
||||
"""Assign spawn positions distributed to 4 corners (2 per corner for 8 players)."""
|
||||
|
||||
Reference in New Issue
Block a user