Я пытался решить эту проблему самостоятельно ... безрезультатно.Моя цель - выяснить, является ли набор логических значений (InRightPosition
) истинным, если каждый InRightPosition
истинен, то -> AllInRightPosition = true и уничтожить GameObject
, которому принадлежат дочерние элементы InRightPosition
.Мой код:
public class PanelManager : MonoBehaviour
{
List slots = new List();
bool allInRightPosition
void Start()
{
for (int i = 0; i < 9; i++)
slots.Add(false);
foreach(Transform child in transform)
{
int index = 0;
do
{
index = Random.Range(0, 9);
} while (slots[index]);
slots[index] = true;
child.localPosition = new Vector3(index/3, index%3-2,0) /* *3 */;
}
}
void Update()
{
foreach (Transform child in transform)
{
if (child.GetComponent<PanelMove>() != null && child.GetComponent<PanelMove>().InRightPosition == true)
{
allInRightPosition = true;
print(allInRightPosition);
}
else if (child.GetComponent<PanelMove>() != null &&
child.GetComponent<PanelMove>().InRightPosition == false)
{
allInRightPosition = false;
break;
}
}
}
, что делает мой код: если один единственный InRightPosition = true, тогда AllInRightPosition = true вместо, если все inRightPosition = true, тогда AllInRightPosition = true.
Есть ли у кого-нибудьключ?