public static void DispatchEndDragEvent(string UIName, string ComponentName, string parm, PointerEventData data)
 {
     //只有允许输入时才派发事件
     if (IsActive)
     {
         InputUIOnEndDragEvent e = GetUIEvent <InputUIOnEndDragEvent>(UIName, ComponentName, parm);
         e.m_dragPosition = data.position;
         e.m_delta        = data.delta;
         InputMessageManager.Dispatch("InputUIOnEndDragEvent", e);
     }
 }
        internal static InputEventRegisterInfo <InputUIOnEndDragEvent> GetOnEndDragListener(string m_UIEventKey, string UIName, string ComponentName, InputEventHandle <InputUIOnEndDragEvent> callback)
        {
            InputEventRegisterInfo <InputUIOnEndDragEvent> info = HeapObjectPool <InputEventRegisterInfo <InputUIOnEndDragEvent> > .GetObject();

            info.eventKey = InputUIOnEndDragEvent.GetEventKey(UIName, ComponentName);
            info.callBack = callback;

            InputMessageManager.AddListener(
                InputUIOnEndDragEvent.GetEventKey(UIName, ComponentName), callback);

            return(info);
        }
        public static InputEndDragRegisterInfo GetOnEndDragListener(DragAcceptor acceptor, string UIName, string ComponentName, string parm, InputEventHandle <InputUIOnEndDragEvent> callback)
        {
            InputEndDragRegisterInfo info = HeapObjectPool <InputEndDragRegisterInfo> .GetObject();

            info.eventKey    = InputUIOnEndDragEvent.GetEventKey(UIName, ComponentName, parm);
            info.callBack    = callback;
            info.m_acceptor  = acceptor;
            info.m_OnEndDrag = (data) =>
            {
                DispatchEndDragEvent(UIName, ComponentName, parm, data);
            };

            return(info);
        }