Exemplo n.º 1
0
        public void Initialize()
        {
            uiHandler      = GetComponent <UIHandler>();
            gameManager    = GetComponent <GameManager>();
            scenarioLoader = GetComponent <ScenarioLoader>();

            outcomeVisualizer = new OutcomeVisualizer(GetComponent <PathVisualizer>());
            outcomeExecutor   = new OutcomeExecutor(this);
            outcomeAnimator   = new OutcomeAnimator(this, uiHandler);

            selectionReachableHexes = new HashSet <HexEntry>();
            enemyReachableHexes     = new List <HexEntry>();

            UpdateUnitList();

            uiHandler.SlideCameraToHexAvg(UnitsByPlayer[gameManager.ActivePlayer].Select(x => x.Position).ToList());

            turnsOfPlay = 0;
            scenarioLoader.SetTurnsRemainingText(Config.turnsBeforePlayer1Wins - turnsOfPlay + 1);

            gameManager.AITryAITurn();

            if (gameManager.NetEnemyTurn())   // Netcode
            {
                uiHandler.NotYourTurn();
            }
        }
Exemplo n.º 2
0
 public void DestroyAllUnits()
 {
     UnitSelected = null;
     outcomeAnimator.RevertAnimation();
     foreach (IUnitController unit in unitsByUniqueID)
     {
         unit.OutcomeAnimator.RevertAnimation(unit);
         unit.Position = null;
         unit.SpriteManager.DestroyUnit();
     }
     outcomeVisualizer = new OutcomeVisualizer(GetComponent <PathVisualizer>());
     unitsByUniqueID   = null;
     _unitsByPlayer    = null;
 }