public void EndTurn() { if (!GameControlTB.battleEnded) { GameControlTB.OnEndTurn(); } }
//AI routine to move a single unit IEnumerator _AIRoutineSingleUnit(UnitTB unit) { while (GameControlTB.IsActionInProgress()) { yield return(null); } yield return(new WaitForSeconds(1f)); unitInAction = true; instance.StartCoroutine(instance._MoveUnit(unit)); //wait a frame for the unit to start moving, set the inAction flag, etc.. yield return(null); while (unit.InAction() || GameControlTB.IsActionInProgress() || unitInAction) { yield return(null); } GameControlTB.OnEndTurn(); }
void OnEndTurnButton() { if (GameControlTB.IsActionInProgress()) { return; } if (GameControlTB.GetTurnMode() != _TurnMode.SingleUnitPerTurn) { if (GameControlTB.GetMoveOrder() == _MoveOrder.Free) { if (UnitControl.selectedUnit != null) { UnitControl.selectedUnit.moved = true; UnitControl.selectedUnit.attacked = true; UnitControl.MoveUnit(UnitControl.selectedUnit); } } } GameControlTB.OnEndTurn(); }
//just for testing, IEnumerator SkippedAIRoutine() { yield return(new WaitForSeconds(1f)); GameControlTB.OnEndTurn(); }