Пример #1
0
 public void Call(InputUIOnDragEvent param0)
 {
     func.BeginPCall();
     func.PushObject(param0);
     func.PCall();
     func.EndPCall();
 }
    static InputUIOnDragEvent GetDragEvent(string UIName, string ComponentName, string parm, Vector2 pos)
    {
        InputUIOnDragEvent msg = GetUIEvent <InputUIOnDragEvent>(UIName, ComponentName, parm);

        msg.m_dragPosition = pos;
        return(msg);
    }
 public static void DispatchDragEvent(string UIName, string ComponentName, string parm, Vector2 pos)
 {
     //只有允许输入时才派发事件
     if (IsActive)
     {
         InputUIOnDragEvent e = GetDragEvent(UIName, ComponentName, parm, pos);
         InputManager.Dispatch("InputUIOnDragEvent", e);
     }
 }
    public static InputEventRegisterInfo <InputUIOnBeginDragEvent> AddOnBeginDragListener(string UIName, string ComponentName, InputEventHandle <InputUIOnBeginDragEvent> callback)
    {
        InputEventRegisterInfo <InputUIOnBeginDragEvent> info = HeapObjectPool <InputEventRegisterInfo <InputUIOnBeginDragEvent> > .GetObject();

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

        InputManager.AddListener <InputUIOnBeginDragEvent>(
            InputUIOnBeginDragEvent.GetEventKey(UIName, ComponentName), callback);

        return(info);
    }
    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;

            InputManager.Dispatch("InputUIOnDragEvent", e);
        }
    }
Пример #6
0
    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);
        info.callBack   = callback;
        info.m_acceptor = acceptor;
        info.m_OnDrag   = (data) =>
        {
            DispatchDragEvent(UIName, ComponentName, parm, data);
        };

        return(info);
    }
Пример #7
0
    private void OnDrag(InputUIOnDragEvent e)
    {
        Vector2 pos = GetRectTransform(e.m_compName).anchoredPosition;

        pos.x += e.m_delta.x;

        if (pos.x > 300)
        {
            pos.x = 300;
        }

        if (pos.x < -300)
        {
            pos.x = -300;
        }

        GetRectTransform(e.m_compName).anchoredPosition = pos;
    }
    static InputUIOnDragEvent GetDragEvent(string UIName, string ComponentName, Vector2 pos)
    {
        InputUIOnDragEvent msg = m_dragPool[m_dragIndex];

        msg.Reset();

        msg.m_name         = UIName;
        msg.m_compName     = ComponentName;
        msg.m_dragPosition = pos;

        m_dragIndex++;

        if (m_dragIndex >= m_dragPool.Length)
        {
            m_dragIndex = 0;
        }


        return(msg);
    }
    static void InitPool()
    {
        if (!isInit)
        {
            isInit       = true;
            m_scrollPool = new InputUIOnScrollEvent[c_clickPoolSize];
            for (int i = 0; i < c_clickPoolSize; i++)
            {
                m_scrollPool[i] = new InputUIOnScrollEvent();
            }

            m_clickPool = new InputUIOnClickEvent[c_srollPoolSize];
            for (int i = 0; i < c_srollPoolSize; i++)
            {
                m_clickPool[i] = new InputUIOnClickEvent();
            }

            m_dragPool = new InputUIOnDragEvent[c_dragPoolSize];
            for (int i = 0; i < c_dragPoolSize; i++)
            {
                m_dragPool[i] = new InputUIOnDragEvent();
            }

            m_beginDragPool = new InputUIOnBeginDragEvent[c_beginDragPoolSize];
            for (int i = 0; i < c_beginDragPoolSize; i++)
            {
                m_beginDragPool[i] = new InputUIOnBeginDragEvent();
            }

            m_endDragPool = new InputUIOnEndDragEvent[c_endDragPoolSize];
            for (int i = 0; i < c_endDragPoolSize; i++)
            {
                m_endDragPool[i] = new InputUIOnEndDragEvent();
            }
        }
    }
Пример #10
0
 public virtual void OnDragEvent(InputUIOnDragEvent inputEvent)
 {
 }
Пример #11
0
 void OnDrag(InputUIOnDragEvent e)
 {
     Debug.Log("拖拽中...." + e.m_dragPosition);
 }