static public void enumWidgets(Transform root, widgetCallback cb, object args = null) { List <Transform> stack = new List <Transform> (); for (int ii = 0; ii < root.childCount; ++ii) { stack.Add(root.GetChild(ii)); } while (stack.Count > 0) { Transform tr = stack [0]; stack.RemoveAt(0); if (!cb(tr, args)) { for (int ii = 0; ii < tr.childCount; ++ii) { stack.Add(tr.GetChild(ii)); } } } }
public static void enumWidgets(Transform root, widgetCallback cb, object args = null) { List<Transform> stack = new List<Transform> (); for (int ii = 0; ii < root.childCount; ++ii) { stack.Add (root.GetChild (ii)); } while (stack.Count > 0) { Transform tr = stack [0]; stack.RemoveAt (0); if (!cb (tr, args)) { for (int ii = 0; ii < tr.childCount; ++ii) { stack.Add (tr.GetChild (ii)); } } } }