private void UpdateUnitDisplay()
    {
        for (int i = 0; i < owner.playerUnits.Count; i++)
        {
            PlayerUnit unit = owner.playerUnits[i];
            if (unit.GetComponent <UnitStats>().IsDead())
            {
                owner.battleUI.Die(unit.GetComponent <UnitStats>().playerUnitInfo);
                owner.playerUnits.Remove(unit);
                unit.Die();
            }
        }

        for (int i = 0; i < owner.enemyUnits.Count; i++)
        {
            EnemyUnit unit = owner.enemyUnits[i];
            if (unit.GetComponent <UnitStats>().IsDead())
            {
                owner.enemyUnits.Remove(unit);
                unit.Die();

                board.DeselectForecast(unit.GetNextMove());
            }
        }
    }
Esempio n. 2
0
    private void UpdateUnitDisplay()
    {
        Queue <PlayerUnit> deadPlayers = new Queue <PlayerUnit>();

        for (int i = 0; i < owner.playerUnits.Count; i++)
        {
            PlayerUnit unit = owner.playerUnits[i];
            if (unit.GetComponent <UnitStats>().IsDead())
            {
                owner.battleUI.Die(unit.GetComponent <UnitStats>().playerUnitInfo);
                unit.Die();

                deadPlayers.Enqueue(unit);
            }
        }
        while (deadPlayers.Count > 0)
        {
            owner.playerUnits.Remove(deadPlayers.Dequeue());
        }

        Queue <EnemyUnit> deadEnemies = new Queue <EnemyUnit>();

        for (int i = 0; i < owner.enemyUnits.Count; i++)
        {
            EnemyUnit unit = owner.enemyUnits[i];

            if (unit.GetComponent <UnitStats>().IsDead())
            {
                unit.Die();
                board.DeselectForecast(unit.GetNextMove());

                deadEnemies.Enqueue(unit);
            }
            else if (unit.GetComponent <UnitStats>().HasStatus(StatusEffects.FREEZE))
            {
                board.DeselectForecast(unit.GetNextMove());
                unit.ResetMove();
            }
        }
        while (deadEnemies.Count > 0)
        {
            owner.enemyUnits.Remove(deadEnemies.Dequeue());
        }
    }