示例#1
0
        protected override void AttachChild(SwitchNode childNode)
        {
            m_ChildNodes.Add(childNode);

            if (childNode.IsOpen)
            {
                ++OpenChildCount;
            }
            CheckSwitchState();
        }
示例#2
0
        protected override void DetachChild(SwitchNode childNode)
        {
            m_ChildNodes.Remove(childNode);

            if (childNode.IsOpen)
            {
                --OpenChildCount;
            }
            CheckSwitchState();
        }
示例#3
0
        public override bool IsChildOf(SwitchNode parent)
        {
            SwitchNode tempNode = this;

            while (tempNode != null)
            {
                if (tempNode == parent)
                {
                    return(true);
                }
                tempNode = tempNode.ParentNode;
            }
            return(false);
        }
示例#4
0
        protected override void DetachChild(SwitchNode childNode)
        {
            var index = m_ChildNodes.LastIndexOf(childNode);

            if (index > -1)
            {
                m_ChildNodes.RemoveAt(index);
            }

            if (childNode.IsOpen)
            {
                --OpenChildCount;
            }
            CheckSwitchState();
        }