protected override void AttachChild(SwitchNode childNode) { m_ChildNodes.Add(childNode); if (childNode.IsOpen) { ++OpenChildCount; } CheckSwitchState(); }
protected override void DetachChild(SwitchNode childNode) { m_ChildNodes.Remove(childNode); if (childNode.IsOpen) { --OpenChildCount; } CheckSwitchState(); }
public override bool IsChildOf(SwitchNode parent) { SwitchNode tempNode = this; while (tempNode != null) { if (tempNode == parent) { return(true); } tempNode = tempNode.ParentNode; } return(false); }
protected override void DetachChild(SwitchNode childNode) { var index = m_ChildNodes.LastIndexOf(childNode); if (index > -1) { m_ChildNodes.RemoveAt(index); } if (childNode.IsOpen) { --OpenChildCount; } CheckSwitchState(); }