private void enumWidgets(widgetCallBack cb, object args = null) { List <Transform> stack = new List <Transform>(); for (int ii = 0; ii < transform.childCount; ++ii) { stack.Add(transform.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)); } } } }
private void enumWidgets( widgetCallBack cb, object args = null ) { List<Transform> stack = new List<Transform>(); for ( int ii = 0; ii < transform.childCount; ++ii ) { stack.Add( transform.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) ); } } } }