예제 #1
0
 public void EndTurn()
 {
     if (!GameControlTB.battleEnded)
     {
         GameControlTB.OnEndTurn();
     }
 }
예제 #2
0
    //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();
    }
예제 #3
0
    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();
    }
예제 #4
0
    //just for testing,
    IEnumerator SkippedAIRoutine()
    {
        yield return(new WaitForSeconds(1f));

        GameControlTB.OnEndTurn();
    }