In meinem Code muss ich ein Kind eines Kindes eines Kindes finden.Zugriff auf unbekanntes Kind
Nur das erste Kind wird immer das gleiche Kind sein, aber das Kind des Kindes wird zwischen 4 verschiedenen möglichen Prefabs randomisiert.
auf das letzte Kind möchte ich es Bild zu deaktivieren.
hier wäre der ideale Code, wenn das Kind nicht zwischen anderen randomisiert werden würde:
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;
}
}
}
Aber da ändert sich die SecondChild, das kann ich nicht einfach tun.
Ist meine einzige Option, so etwas zu tun?
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;
}
}
}
Oder hat jemand eine andere Idee?
Ich weiß, das ist eine sehr verwirrend zu lesen Frage, aber ich versuchte mein Bestes, um es zu vereinfachen.
Danke,
** Lassen Sie tun it **: Erstellen Sie ein Skript und hängen Sie es an jedes Element in der Liste an, so dass diese basierend auf Ihrer 'IsPicked'-Prüfung aktiviert/deaktiviert werden können. Es ist nicht nötig, alle durch ein anderes Skript zu durchlaufen. –