private void Start() { persistence = GameObject.Find("Load Game Controller"); if (persistence != null && persistence.GetComponent <LoadGameController>().saveData != null && persistence.GetComponent <LoadGameController>().saveData.currentRound != 0) { loadFromController(); } else { currentRound = 1; powerUps = new List <PowerUp>(); } SceneManager.SetActiveScene(SceneManager.GetSceneByName("Main Game")); switchTurn = false; turnCounter = 0; levelController = GameObject.Find("Level Controller").GetComponent <LevelController>(); populateUnits(); initTurnOrder(); displayingMoves = false; activeUnit = turnOrder[0]; foreach (WalkableArea wa in levelController.walkableArea) { walkableArea.Add(wa.position); } //Enact all power Ups foreach (PowerUp powerUp in powerUps) { UnitType unitType = persistence.GetComponent <LoadGameController>().getPowerUpDataFromEnum(powerUp).unitType; switch (unitType) { case UnitType.Contractor: PowerUpHelper.activatePowerUp(powerUp, playerUnits.Find(unit => UnitType.Contractor.Equals(unit.GetComponent <PlayerUnitController>().unitType)).GetComponent <UnitController>()); break; case UnitType.Fisherman: PowerUpHelper.activatePowerUp(powerUp, playerUnits.Find(unit => UnitType.Fisherman.Equals(unit.GetComponent <PlayerUnitController>().unitType)).GetComponent <UnitController>()); break; case UnitType.Hunter: PowerUpHelper.activatePowerUp(powerUp, playerUnits.Find(unit => UnitType.Hunter.Equals(unit.GetComponent <PlayerUnitController>().unitType)).GetComponent <UnitController>()); break; case UnitType.Nurse: PowerUpHelper.activatePowerUp(powerUp, playerUnits.Find(unit => UnitType.Nurse.Equals(unit.GetComponent <PlayerUnitController>().unitType)).GetComponent <UnitController>()); break; default: break; } } }
public RaceSubScene() : base(Definitions.IsWideScreen ? Wide_Buffer_Width : Standard_Buffer_Width, Buffer_Height) { StatusDisplay = new RaceDataDisplay(); Communicator = null; _countdownPopup = new CountdownPopup(); _powerUpButton = new PowerUpButton(); _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete; _powerUpDisplayTimer = new PowerUpTimer(); _powerUpDisplayTimer.TickCallback = _timerController.RegisterUpdateCallback; _powerUpHelper = new PowerUpHelper(); _blackout = new Blackout(); _blackout.TickCallback = _timerController.RegisterUpdateCallback; _positionStatusPopup = new RaceInfoPopup(); _raceEventPopup = new RaceInfoPopup(); _exitTimer = new Timer("", HandleExitTimerActionComplete); GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_exitTimer.Tick); }
public RaceGameplayScene() : base("race-gameplay") { StatusDisplay = new RaceDataDisplay(); _countdownPopup = new CountdownPopup(); _quitRaceButton = new QuitRaceButton(); _powerUpButton = new PowerUpButton(); _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete; _powerUpDisplayTimer = new PowerUpTimer(); _powerUpDisplayTimer.TickCallback = _timerController.RegisterUpdateCallback; _powerUpHelper = new PowerUpHelper(); _blackout = new Blackout(); _blackout.TickCallback = _timerController.RegisterUpdateCallback; _positionStatusPopup = new RaceInfoPopup(); _raceEventPopup = new RaceInfoPopup(); _waitingMessage = new WaitingMessage(); _exitTimer = new Timer("", HandleExitTimerActionComplete); GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_exitTimer.Tick); _startSequenceTimer = new Timer("", HandleStartCountdownStep); GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_startSequenceTimer.Tick); _quitTimer = new Timer("", HandleQuitTimerActionComplete); GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_quitTimer.Tick); _quitRaceDialog = new QuitRaceDialog(); _quitRaceDialog.CancellationTimer = _quitTimer; _quitRaceDialog.InputSources.Add(_inputProcessor); _disconnectedDialog = new DisconnectedDialog(); _disconnectedDialog.SelectionCallback = HandleDisconnectAcknowledge; _disconnectedDialog.InputSources.Add(_inputProcessor); }