예제 #1
0
    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));
                }
            }
        }
    }
예제 #2
0
    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) );
                }
            }
        }
    }