在我的代码中,我需要找到一个孩子的孩子的孩子。访问未知的孩子
只有第一个孩子将永远是同一个孩子,但是孩子的孩子在四种不同的可能预制之间随机化。
对最后一个孩子我想禁用它的形象。
这里将是理想的代码,如果孩子不愿别人之间随机:
protected void SetUnpickedPrizesVisibility(bool isVisible)
{
foreach (var element in list)
{
if (!element.IsPicked)
{ element.transform.FindChild("FirstChild").FindChild("SecondChild").FindChild("ThirdChild").GetComponent<Image>().enabled = false;
}
}
}
但由于中,SecondChild变化,我不能简单地做。
是我唯一的选择做这样的事情吗?
protected void SetUnpickedPrizesVisibility(bool isVisible)
{
foreach (var element in list)
{
if (!element.IsPicked)
{
if(element.transform.FindChild("FirstChild").FindChild("SecondChild1"))
element.transform.FindChild("FirstChild").FindChild("SecondChild1").FindChild("ThirdChild").GetComponent<Image>().enabled = false;
if(element.transform.FindChild("FirstChild").FindChild("SecondChild2"))
element.transform.FindChild("FirstChild").FindChild("SecondChild2").FindChild("ThirdChild").GetComponent<Image>().enabled = false;
if(element.transform.FindChild("FirstChild").FindChild("SecondChild3"))
element.transform.FindChild("FirstChild").FindChild("SecondChild3").FindChild("ThirdChild").GetComponent<Image>().enabled = false;
}
}
}
或者是否有人有不同的想法?
我知道这是一个非常混乱的阅读问题,但我尽我所能来简化它。
感谢,
**让你的孩子做它**:创建一个脚本并将其附加到列表中的每个元素,以便它们可以根据您的“IsPicked”检查自行启用/禁用。不需要从另一个脚本中浏览所有的内容。 –