Ejemplo n.º 1
0
    /// <summary>
    /// Llama a todos los enemigo sy le sindica que deben hacer su turno y espera hasta que todos acaben de hacerlo
    /// </summary>
    /// <returns></returns>
    public IEnumerator EnemyTurn()
    {
        RunInfo info = new RunInfo();

        if (BTile.ETileState.EVision == activeBoard.GetTileState(activePlayer.GetIndex()))
        {
            StartCoroutine(ResetBoard());
        }

        foreach (BEnemy enemy in activeEnemies)
        {
            info = enemy.NextMovement().ParallelCoroutine("enemies");
        }

        yield return(new WaitUntil(() => info.count <= 0));

        if (BTile.ETileState.EVision == activeBoard.GetTileState(activePlayer.GetIndex()))
        {
            StartCoroutine(ResetBoard());
        }

        yield return(null);
    }