public static void DispatchDragEvent(string UIName, string ComponentName, string parm, PointerEventData data)
        {
            //只有允许输入时才派发事件
            if (IsActive)
            {
                InputUIOnDragEvent e = GetUIEvent <InputUIOnDragEvent>(UIName, ComponentName, parm);
                e.m_dragPosition = data.position;
                e.m_delta        = data.delta;

                InputMessageManager.Dispatch("InputUIOnDragEvent", e);
            }
        }
        //internal static InputEventRegisterInfo<InputUIOnEndDragEvent> GetOnEndDragListener(string m_UIEventKey, string name, Action<PointerEventData> onEndDrag)
        //{
        //    throw new NotImplementedException();
        //}

        internal static InputEventRegisterInfo <InputUIOnDragEvent> GetOnDragListener(string m_UIEventKey, string UIName, string ComponentName, InputEventHandle <InputUIOnDragEvent> callback)
        {
            InputEventRegisterInfo <InputUIOnDragEvent> info = HeapObjectPool <InputEventRegisterInfo <InputUIOnDragEvent> > .GetObject();

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

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

            return(info);
        }
        public static InputEventRegisterInfo <InputUIOnDragEvent> GetOnDragListener(DragAcceptor acceptor, string UIName, string ComponentName, string parm, InputEventHandle <InputUIOnDragEvent> callback)
        {
            InputDragRegisterInfo info = HeapObjectPool <InputDragRegisterInfo> .GetObject();

            info.eventKey   = InputUIOnDragEvent.GetEventKey(UIName, ComponentName, parm);
            info.callBack   = callback;
            info.m_acceptor = acceptor;
            info.m_OnDrag   = (data) =>
            {
                DispatchDragEvent(UIName, ComponentName, parm, data);
            };

            return(info);
        }