Есть такой код -
foreach (GameObject o in GameObject.FindGameObjectsWithTag("loc"))
{
Destroy(o);
}
Instantiate(GameObject.Find("Camera").GetComponent<LibLevels>().Levels[GameData.locID], new Vector3(), Quaternion.identity);
List<GameObject> Doors = new List<GameObject>(GameObject.FindGameObjectsWithTag("door"));
for (int i = 0; i < Doors.Count - 1; i++)
{
GameObject g = Doors[i];
if (GameData.isOpen[i])
{
Debug.Log(g.name);
g.GetComponent<Door>().Open();
}
}
Изначально на сцене есть объект gate с тегом door, этот объект дочерен объекту "o" в
списке GameObject.FindGameObjectsWithTag("loc"), поэтому он должен уничтожаться до того как происходит GameObject.FindGameObjectsWithTag("door")). Instantiate(GameObject.Find("Camera").GetComponent().Levels[GameData.locID], new Vector3(), Quaternion.identity) Создает на сцене префаб где есть gate1 с тегом "door".
Проблема в том что на выводе Debug.Log(g.name) выдает gate ,а не gate1 как должно.При чем gate1 не выводиться в последствии.
В чем причина?