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(); } }
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; }