public void AddChild(UIControl control)
 {
     children.Add(control);
     control.OnAdd(this);
 }
 public virtual void OnAdd(UIControl parent)
 {
     this.parent = parent;
 }
 public void RemoveChild(UIControl control)
 {
     if (children.Contains(control))
         children.Remove(control);
     control.OnRemove();
 }