using System; //Состояние, которое начинает раунд и подготавливает менеджера public class StartRoundState : IState { CellState firstPlayer;//игрок, который будет ходить первый в этом раунде GameManager gm; public StartRoundState(CellState firstPlayer) { this.firstPlayer = firstPlayer; } public void enter() { try { gm = GameManager.instance; gm.currentPlayer = firstPlayer; gm.timerManager.SetupTimers(gm.gameMode); if (gm.gameMode == GameMode.pve) gm.timerManager.SetActiveTimer(CellState.Player1);//если деремся с ботом, держим таймер включенным int difficultyIndex = DifficultyManager.Instance.currentOpponent; if (gm.gameMode == GameMode.pve) { CharacterController.SwitchToCharacter(difficultyIndex); } if (gm.gameMode == GameMode.pvp) { DualAvatarController.Instance.ShowCharacters(); } VitrinaView.Instance.ActivateIfNeed(); gm.stateMachine.ChangeState(new StartTurnState()); } catch (Exception e) { UnityEngine.Debug.LogError(e.ToString()); } } public void exit() { } public void update() { } }