Как я могу получить обоих детей GameObjects в один цикл? - PullRequest
0 голосов
/ 24 марта 2019
for (int i = 0; i < doors.Count; i++)
        {
            if (doorLockState == true)
            {
             var t =    doors[i].GetComponentInChildren<Transform>();
                // Color in red
            }
            else
            {
                var t = doors[i].GetComponentInChildren<Transform>();
                // Color in green
            }
        }

Я использую переменную t в обоих случаях только для тестирования на отладку.

двери [я] имеют две двери каждая петля. Двери [0] содержат два элемента, и каждый элемент имеет одного ребенка. Я хочу, чтобы дети каждого из них. Теперь я получаю только предметы в дверях, но не дитя каждого из них.

1 Ответ

2 голосов
/ 24 марта 2019

Поскольку каждый элемент содержит только 1 дочернего элемента, вы можете использовать Transform.GetChild(0), чтобы получить первого и единственного дочернего элемента. В остальном все просто, переберите все предметы в дверях [i] и получите их ребенка.

foreach(Transform child in dooors[i].GetComponentsInChildren<Transform>())
{
    Transform childOfChild = child.GetChild(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...