Esempio n. 1
0
        public override void Invoke()
        {
            if (m_ChildNodes.Count == 0)
            {
                InvokeEvent.Invoke();
                return;
            }

            switch (NodeInvokeMode)
            {
            case InvokeMode.TreeDownToTop:
            case InvokeMode.TreeTopToDown:
            case InvokeMode.TreeReverseTopToDown:
            case InvokeMode.TreeReverseDownToTop:
                InvokeTreeMode();
                break;

            case InvokeMode.LayerTopToDown:
            case InvokeMode.LayerReverseTopToDown:
                InvokeLayerTopToDown();
                break;

            case InvokeMode.LayerDownToTop:
            case InvokeMode.LayerReverseDownToTop:
                InvokeLayerDownToTop();
                break;
            }
        }
Esempio n. 2
0
        protected virtual void InvokeTreeReverseMode()
        {
            if (NodeInvokeMode == InvokeMode.TreeReverseTopToDown)
            {
                InvokeEvent.Invoke();
            }

            for (var i = m_ChildNodes.Count - 1; i >= 0; --i)
            {
                if (m_ChildNodes[i].EnableSelf)
                {
                    m_ChildNodes[i].Invoke();
                }
            }

            if (NodeInvokeMode == InvokeMode.TreeReverseDownToTop)
            {
                InvokeEvent.Invoke();
            }
        }
Esempio n. 3
0
        protected virtual void InvokeTreeMode()
        {
            if (NodeInvokeMode == InvokeMode.TreeTopToDown)
            {
                InvokeEvent.Invoke();
            }

            for (var i = 0; i < m_ChildNodes.Count; i++)
            {
                if (m_ChildNodes[i].EnableSelf)
                {
                    m_ChildNodes[i].Invoke();
                }
            }

            if (NodeInvokeMode == InvokeMode.TreeDownToTop)
            {
                InvokeEvent.Invoke();
            }
        }
Esempio n. 4
0
        protected virtual void InvokeTreeMode()
        {
            if (NodeInvokeMode == InvokeMode.TreeTopToDown || NodeInvokeMode == InvokeMode.TreeReverseTopToDown)
            {
                InvokeEvent.Invoke();
            }

            var enumerator = m_ChildNodes.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (enumerator.Current.EnableSelf)
                {
                    enumerator.Current.Invoke();
                }
            }

            if (NodeInvokeMode == InvokeMode.TreeDownToTop || NodeInvokeMode == InvokeMode.TreeReverseDownToTop)
            {
                InvokeEvent.Invoke();
            }
        }