コード例 #1
0
        public void RefreshCacheTypesRecursive()
        {
            Stack <IEnumerator <GameComponent> > eStack = new Stack <IEnumerator <GameComponent> >();

            eStack.Push(Children.GetEnumerator());

            while (eStack.Count > 0)
            {
                IEnumerator <GameComponent> e = eStack.Pop();
                while (e.MoveNext())
                {
                    GameComponent current = e.Current;
                    current.RefreshCacheTypes();

                    if (current.Children.Count > 0)
                    {
                        eStack.Push(e);
                        e = current.Children.GetEnumerator();
                    }
                }
            }
        }