void Start() { var levelConfigs = FindObjectOfType <LevelConfigs>(); int playerCount = levelConfigs == null? defaultPlayerCount : levelConfigs.playerCount; settings.pointsToWin = levelConfigs == null? settings.pointsToWin : levelConfigs.PointsToWin; Debug.Assert(playerPrefabs.Length >= playerCount); fsm = new GameManagerFSM(this); fsm.AdvanceTo(new GameManagerStartState(fsm)); players = new List <Player>(); CameraRig.m_Targets = new Transform[playerCount]; for (int i = 0; i < playerPrefabs.Length && i < playerCount; i++) { players.Add(GameObject.Instantiate(playerPrefabs[i]).GetComponent <Player>()); players[i].OnDie += Player_OnDie; CameraRig.m_Targets[i] = players[i].transform; } }
public GameManagerInGameState(GameManagerFSM fsm) : base(fsm) { }
public GameManagerStartState(GameManagerFSM fsm) : base(fsm) { }
public GameManagerBattleOverState(GameManagerFSM fsm, Player winner) : base(fsm) { this.winner = winner; endTime = Time.time + 5; }