Release v0.2: refine menus and JuggleBoard

This commit is contained in:
enne2
2026-09-06 22:53:52 +02:00
parent f4a9da6bc3
commit ea5b2aebbf
34 changed files with 832 additions and 437 deletions
+8 -13
View File
@@ -3,11 +3,9 @@ extends Node
## Entry point dell'app: coordina menu e caricamento dei giochi.
const MAIN_MENU_SCENE := preload("res://menus/scenes/main_menu.tscn")
const MODE_SELECT_SCENE := preload("res://menus/scenes/mode_select_dialog.tscn")
const JUGGLEBOARD_SCENE := preload("res://games/juggleboard/scenes/juggleboard.tscn")
var main_menu: MainMenuController
var mode_select: ModeSelectDialog
var active_game: Node
@@ -18,15 +16,12 @@ func _ready() -> void:
func _create_menus() -> void:
main_menu = MAIN_MENU_SCENE.instantiate()
main_menu.mode_requested.connect(_show_mode_select)
# P2A avvia direttamente Target: il vecchio dialog Target/Infinita non viene
# più creato né mostrato.
main_menu.mode_requested.connect(_start_juggleboard)
main_menu.exit_requested.connect(_exit_app)
add_child(main_menu)
mode_select = MODE_SELECT_SCENE.instantiate()
mode_select.mode_chosen.connect(_start_juggleboard)
mode_select.back_requested.connect(_return_to_juggle_menu)
add_child(mode_select)
func _show_debug_target_or_home() -> void:
var args := OS.get_cmdline_user_args()
@@ -35,8 +30,8 @@ func _show_debug_target_or_home() -> void:
if args.has("--capture-menus"):
_capture_game_after_frame()
elif args.has("--capture-mode-dialog"):
# Compatibilità del flag di debug: il dialog non fa più parte del flusso.
main_menu.show_juggle()
mode_select.show_menu()
elif args.has("--capture-p2a"):
main_menu.show_juggle()
elif args.has("--capture-p3a"):
@@ -45,11 +40,10 @@ func _show_debug_target_or_home() -> void:
main_menu.show_home()
func _show_mode_select() -> void:
mode_select.show_menu()
func _return_to_juggle_menu() -> void:
if is_instance_valid(active_game):
active_game.queue_free()
active_game = null
main_menu.show_juggle()
@@ -58,6 +52,7 @@ func _start_juggleboard() -> void:
if is_instance_valid(active_game):
active_game.queue_free()
active_game = JUGGLEBOARD_SCENE.instantiate()
active_game.return_requested.connect(_return_to_juggle_menu)
add_child(active_game)