Supprime les mini-jeux (survival/teams), corrige tous les bugs identifiés

- Supprime DeathZone.cs, ZoneCapture.cs, ArenaZoneBuilder.cs
- ArenaRoom.js : mode race uniquement, fix _checkRoundEndCondition, fix _getActiveCount
- GameState.js : supprime team (Player) et deathZoneY/teamScoreRed/teamScoreBlue (GameState)
- NetworkSchema.cs : aligne sur le nouveau schéma serveur (supprime team, indices corrigés)
- NetworkManager.cs : supprime OnDeathZoneYChanged/SendDeathZoneHit/SendInZone, OnRoundStart passe totalRounds
- GameManager.cs : subscriptions OnEnable→Start/OnDestroy, fix Lobby (player visible si connecté), HandleRoundStart(totalRounds)
- GameHUD.cs : supprime blocs survival/teams, ajoute SetTotalRounds, supprime dead code
- PlayerController.cs : cache Rigidbody, fix OnCollisionStay gel (supprime else), SetSpawnPosition
- CheckpointSystem.cs : flash le prochain checkpoint actif, supprime FinishFlash vide
- LobbyUI.cs : CancelInvoke sur connexion, appelle SetSpawnPosition

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 16:28:37 +02:00
parent 456d876847
commit 4743c307a6
15 changed files with 120 additions and 1195 deletions

View File

@@ -27,32 +27,32 @@ public class GameManager : MonoBehaviour
DontDestroyOnLoad(gameObject);
}
void OnEnable()
void Start()
{
var nm = NetworkManager.Instance;
if (nm == null) return;
nm.OnPhaseChanged += HandlePhaseChanged;
nm.OnPhaseChanged += HandlePhaseChanged;
nm.OnCountdownChanged += HandleCountdownChanged;
nm.OnEliminated += HandleEliminated;
nm.OnQualified += HandleQualified;
nm.OnRoundStart += HandleRoundStart;
nm.OnRoundEnd += HandleRoundEnd;
nm.OnGameEnd += HandleGameEnd;
nm.OnDisconnected += HandleDisconnected;
nm.OnEliminated += HandleEliminated;
nm.OnQualified += HandleQualified;
nm.OnRoundStart += HandleRoundStart;
nm.OnRoundEnd += HandleRoundEnd;
nm.OnGameEnd += HandleGameEnd;
nm.OnDisconnected += HandleDisconnected;
}
void OnDisable()
void OnDestroy()
{
var nm = NetworkManager.Instance;
if (nm == null) return;
nm.OnPhaseChanged -= HandlePhaseChanged;
nm.OnPhaseChanged -= HandlePhaseChanged;
nm.OnCountdownChanged -= HandleCountdownChanged;
nm.OnEliminated -= HandleEliminated;
nm.OnQualified -= HandleQualified;
nm.OnRoundStart -= HandleRoundStart;
nm.OnRoundEnd -= HandleRoundEnd;
nm.OnGameEnd -= HandleGameEnd;
nm.OnDisconnected -= HandleDisconnected;
nm.OnEliminated -= HandleEliminated;
nm.OnQualified -= HandleQualified;
nm.OnRoundStart -= HandleRoundStart;
nm.OnRoundEnd -= HandleRoundEnd;
nm.OnGameEnd -= HandleGameEnd;
nm.OnDisconnected -= HandleDisconnected;
}
// ─── Event Handlers ───────────────────────────────────────────────────
@@ -106,11 +106,12 @@ public class GameManager : MonoBehaviour
}
}
void HandleRoundStart(int round, string mode)
void HandleRoundStart(int round, string mode, int totalRounds)
{
CurrentRound = round;
CurrentMode = mode;
gameHUD?.SetRoundInfo(round, mode);
gameHUD?.SetTotalRounds(totalRounds);
IsLocalEliminated = false;
}
@@ -140,7 +141,7 @@ public class GameManager : MonoBehaviour
switch (phase)
{
case GamePhase.Lobby:
SetPlayerActive(false);
SetPlayerActive(NetworkManager.Instance?.IsConnected ?? false);
SetSpectatorActive(false);
gameHUD?.SetPhase("lobby");
break;