feat: Implement the "Stop N Go" arena with new assets, scenes, and associated game logic and UI.
This commit is contained in:
+23
-7
@@ -83,6 +83,18 @@ func _ready():
|
||||
if pause_settings.pressed.is_connected(_on_settings_pressed):
|
||||
pause_settings.pressed.disconnect(_on_settings_pressed)
|
||||
pause_settings.pressed.connect(_on_settings_pressed)
|
||||
|
||||
# Connect the new top-level Help and Settings buttons
|
||||
var top_help_btn = get_node_or_null("TopMenuUI/HelpBtn")
|
||||
if top_help_btn:
|
||||
if not top_help_btn.pressed.is_connected(_on_how_to_play_pressed):
|
||||
top_help_btn.pressed.connect(_on_how_to_play_pressed)
|
||||
|
||||
# SettingsBtn opens the PauseMenu (acts as a pause/menu toggle)
|
||||
var top_settings_btn = get_node_or_null("TopMenuUI/SettingsBtn")
|
||||
if top_settings_btn:
|
||||
if not top_settings_btn.pressed.is_connected(_toggle_pause_menu):
|
||||
top_settings_btn.pressed.connect(_toggle_pause_menu)
|
||||
|
||||
func _setup_multiplayer_spawners():
|
||||
# Setup MultiplayerSpawner for Static Tekton Stands
|
||||
@@ -199,7 +211,9 @@ func _init_managers():
|
||||
screen_shake_manager.initialize($Camera3D200)
|
||||
|
||||
# Touch controls for mobile
|
||||
touch_controls = get_node_or_null("TouchControls")
|
||||
touch_controls = get_node_or_null("TouchLayer/TouchControls")
|
||||
if not touch_controls:
|
||||
touch_controls = get_node_or_null("TouchControls") # fallback
|
||||
if not touch_controls:
|
||||
print("TouchControls node not found in scene, creating instance...")
|
||||
touch_controls = load("res://scripts/managers/touch_controls.gd").new()
|
||||
@@ -2040,6 +2054,12 @@ func _show_game_over_panel():
|
||||
var actions_btn = get_node_or_null("TouchControls/TouchControls/ActionsBtn")
|
||||
if actions_btn: actions_btn.hide()
|
||||
|
||||
var touch_layer = get_node_or_null("TouchLayer")
|
||||
if touch_layer: touch_layer.hide()
|
||||
|
||||
var top_menu_ui = get_node_or_null("TopMenuUI")
|
||||
if top_menu_ui: top_menu_ui.hide()
|
||||
|
||||
if stop_n_go_manager and stop_n_go_manager.hud_layer:
|
||||
stop_n_go_manager.hud_layer.hide()
|
||||
|
||||
@@ -2485,20 +2505,16 @@ func _on_resume_pressed():
|
||||
# get_tree().paused = false # Removed for multiplayer consistency
|
||||
|
||||
func _on_how_to_play_pressed():
|
||||
var pause_menu = get_node_or_null("PauseMenu")
|
||||
"""Open How To Play panel directly, regardless of where it was called from."""
|
||||
var help_panel = get_node_or_null("HowToPlayPanel")
|
||||
if pause_menu:
|
||||
pause_menu.visible = false
|
||||
if help_panel:
|
||||
help_panel.visible = true
|
||||
|
||||
func _on_how_to_play_back_pressed():
|
||||
var pause_menu = get_node_or_null("PauseMenu")
|
||||
"""Just close the How To Play panel."""
|
||||
var help_panel = get_node_or_null("HowToPlayPanel")
|
||||
if help_panel:
|
||||
help_panel.visible = false
|
||||
if pause_menu:
|
||||
pause_menu.visible = true
|
||||
|
||||
func _on_settings_pressed():
|
||||
var pause_menu = get_node_or_null("PauseMenu")
|
||||
|
||||
Reference in New Issue
Block a user