Давайте посмотрим на ваш код удаления списка ..
for (int i = 0; i < ObjectList.Count; ++i)
{
ObjectList.RemoveAt(i);
}
So
список из 3 предметов (потому что я немного ленивый)
i = 0, удаляет в 0 .. так что теперь у вас есть 0 и 1 ..
я ++
теперь вы удаляете 1 .... оставляя 0 ...
Вы должны удалить в обратном порядке.
Так что для i = count-1 до 0 .. если вам нужно сказать, чтобы удалить игровые объекты или что-то еще,
или .clear ..
Однако тот факт, что вы пытались. Ясно, может быть, "объекты" тоже нужно уничтожить?
например
for (int i = ObjectList.Count-1; i >= 0; i--)
{
Destroy(ObjectList[i]);
ObjectList.RemoveAt(i);
}