Сообщение от Crystal
Это не работает, ночью я пробовал такой вариант.
Сейчас тоже попробовал, и тоже не работает.
|
А можешь показать пример как ты это используешь? По идее должно работать...
Сообщение от Crystal
Здесь "IsDead" это что и откуда? Я тут не понял где это должно быть вбито у объекта.
|
Не обратил внимания, что твой список это GameObject. Вот пример при котором я предполагаю, что у тебя на каждом юните висит одноименный класс Unit:
for(int i = FightScene.Units.Count-1; i>=0; i--)
{
if(FightScene.Units[i] == null || FightScene.Units[i].GetComponent<Unit>().IsDead)
{
Destroy(FightScene.Units[i]);
FightScene.Units.RemoveAt(i);
}
}
А вот пример класса Unit (свойство IsDead в виде лямбда функции):
using UnityEngine;
public class Unit: MonoBehaviour
{
public int health = 100;
public bool IsDead => health <= 0;
}
Пример класса Unit (свойство IsDead в виде обычного свойства только для чтения)
using UnityEngine;
public class Unit: MonoBehaviour
{
public int health = 100;
public bool IsDead
{
get
{
return health <= 0;
}
}
}