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()); } } }
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()); } }