feat: Implement a new lobby system with configurable match duration, game over screen, and core game state management.

This commit is contained in:
2025-12-20 01:10:49 +08:00
parent 75eb398649
commit b0d45d4569
12 changed files with 1241 additions and 338 deletions
+9
View File
@@ -0,0 +1,9 @@
[ ADT's Daily Report - 2025-12-18 ]
✅ Global Match Timer System - Added configurable match duration that can be set by host in lobby (1, 2, 3, 5, or 10 minutes). The timer displays at the top center of the screen in mm:ss format and syncs across all clients via RPC. Modified lobby_manager.gd, lobby.tscn, lobby.gd, and goals_cycle_manager.gd.
✅ Game Over Screen - When global timer reaches 0, the match ends and displays a full-screen "TIME'S UP!" overlay with final leaderboard showing 🥇🥈🥉 rankings for all players. Player controls are disabled when match ends.
✅ Back to Main Menu - Added "BACK TO MAIN MENU" button on the game over screen that properly cleans up game state (GameStateManager.end_game(), LobbyManager.reset()) and transitions back to lobby.tscn.
✅ Goals Cycle Integration - Extended goals_cycle_manager.gd with global match timer (start_match, match_ended signal). The 30-second goal cycles continue until the global match timer expires, at which point no new cycles start.