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来测试调试。
门[i]每个环有两个门。门[0]包含两个项目,每个项目有一个孩子。我想得到他们每个人的孩子。现在我的方式就是把门里的物品拿来,而不是每个人的孩子。
由于每个项目只包含1个孩子,因此您可以使用Transform.GetChild(0)
获取第一个也是唯一一个孩子。其余的很简单,循环通过门[i]中的每个项目并让他们的孩子。
foreach(Transform child in dooors[i].GetComponentsInChildren<Transform>())
{
Transform childOfChild = child.GetChild(0);
}