И все же, приходится снова вернуться к этой теме. Попробовал через List, размер не фиксированный, та же проблема, товарищи!
Используется csharp
List<GameObject> tails = new List<GameObject> ();
Debug.Log (tails.Count.ToString ());
tails.AddRange (GameObject.FindGameObjectsWithTag ("tail"));
Debug.Log (tails.Count.ToString ());
if (tails != null) {
for (int i = 0; i < tails.Count; i++) {
Destroy (tails [i]);
}
tails.Clear();
}
tails.AddRange (GameObject.FindGameObjectsWithTag ("tail"));
Debug.Log (tails.Count.ToString ());
for (int i = 0; i < length; i++) {
GameObject tail = (GameObject)Instantiate (tailprefab);
tail.tag = "tail";
}
tails.AddRange (GameObject.FindGameObjectsWithTag ("tail"));
Debug.Log (tails.Count.ToString ());
Дебаги:
Первый запуск : 0, 0,0, length.
Второй запуск: 0, length,length, 3*length.
Что происходит? Что за черная магия?