public virtual void OnUIPointerElementExit(UIPointerEventArgs e)
 {
     if (e.previousTarget == currentTarget)
     {
         ResetHoverTimer();
     }
     if (UIPointerElementExit != null)
     {
         UIPointerElementExit(this, e);
     }
 }
        public virtual void OnUIPointerElementClick(UIPointerEventArgs e)
        {
            if (e.currentTarget == currentTarget)
            {
                ResetHoverTimer();
            }

            if (UIPointerElementClick != null)
            {
                UIPointerElementClick(this, e);
            }
        }
        public virtual void OnUIPointerElementEnter(UIPointerEventArgs e)
        {
            if (e.currentTarget != currentTarget)
            {
                ResetHoverTimer();
            }

            currentTarget = e.currentTarget;
            if (UIPointerElementEnter != null)
            {
                UIPointerElementEnter(this, e);
            }
        }