private void Start() { _hexMap = GameObject.FindObjectOfType <HexMap>(); _selectionController = GameObject.FindObjectOfType <SelectionController>(); turnPulse = TacticalTurnPulse.Setup; movePulses = new List <TacticalTurnPulse>() { TacticalTurnPulse.FirstMove, TacticalTurnPulse.SecondMove, TacticalTurnPulse.ThirdMove }; GeneratePlayers(numPlayers); AdvanceTurnPulse(); }
public void AdvanceTurnPulse() { if (turnPulse == TacticalTurnPulse.EndTurn) { turnPulse = TacticalTurnPulse.StartTurn; } else { //Increment the turn pulse. // TODO Check for units waiting orders. turnPulse = turnPulse += 1; } Debug.Log(string.Format("Advancing Turn Pulse To {0}", turnPulse)); if (turnPulse == TacticalTurnPulse.StartTurn) { _initiativeOrder = DetermineInitiativeOrder(); // TODO RefreshTurnMoveRatings(); // TODO RefreshUnitShields(); // TODO SetMoveControlsActive(); } //We do moves when we advance TO a move pulse. if (movePulses.Contains(turnPulse)) { Debug.Log("Refreshing Pulse Move Points."); RefreshPulseMovePoints(); Debug.Log("Completing Queued Moves."); StartCoroutine(DoAllQueuedUnitMoves()); } if (turnPulse == TacticalTurnPulse.Firing) { // Need to do combat here! // TODO SetFireControlsActive(); } if (turnPulse == TacticalTurnPulse.EndTurn) { // Go to next player _selectionController.SelectedUnit = null; // hexMap.AdvanceToNextPlayer(); } }