Exemplo n.º 1
0
    void IDragHandler.OnDrag(PointerEventData eventData)
    {
        if (mIsLocked || !mCurLaunchInput)
        {
            return;
        }

        if (mCurLaunchInput.isLocked)
        {
            mCurLaunchInput.Cancel();
            mCurLaunchInput = null;
            return;
        }

        if (!eventData.pointerCurrentRaycast.isValid)
        {
            return;
        }

        ComputePosition(eventData.pointerCurrentRaycast.worldPosition, out mCurPos, out mCurArea);

        mDir       = mCurPos - mOrigPos;
        mCurLength = mDir.magnitude;
        if (mCurLength > 0f)
        {
            mDir /= mCurLength;
        }

        if (pointerDragCallback != null)
        {
            pointerDragCallback(this);
        }
    }
Exemplo n.º 2
0
    void IPointerDownHandler.OnPointerDown(PointerEventData eventData)
    {
        if (mIsLocked)
        {
            return;
        }

        ComputePosition(eventData.pointerCurrentRaycast.worldPosition, out mOrigPos, out mCurArea);

        var lastInput = mCurLaunchInput;

        mCurLaunchInput = GetInput(mOrigPos);
        if (!mCurLaunchInput)
        {
            return;
        }

        if (lastInput && lastInput != mCurLaunchInput)
        {
            lastInput.Cancel();
        }

        mCurLaunchInput.Select();

        mCurPos    = mOrigPos;
        mDir       = Vector2.zero;
        mCurLength = 0f;

        //Debug.Log("input down: "+eventData.pointerCurrentRaycast.worldPosition.ToString()+" "+eventData.pointerCurrentRaycast.screenPosition.ToString());

        if (pointerDownCallback != null)
        {
            pointerDownCallback(this);
        }
    }
Exemplo n.º 3
0
    void IPointerUpHandler.OnPointerUp(PointerEventData eventData)
    {
        if (mIsLocked || !mCurLaunchInput)
        {
            return;
        }

        //Debug.Log("input up: "+eventData.pointerCurrentRaycast.worldPosition.ToString()+" "+eventData.pointerCurrentRaycast.screenPosition.ToString());
        ComputePosition(eventData.pointerCurrentRaycast.worldPosition, out mCurPos, out mCurArea);

        mDir       = mCurPos - mOrigPos;
        mCurLength = mDir.magnitude;
        if (mCurLength > 0f)
        {
            mDir /= mCurLength;
        }

        if (pointerUpCallback != null)
        {
            pointerUpCallback(this);
        }

        if (mCurLaunchInput)
        {
            mRegisteredInputs.Remove(mCurLaunchInput);
            mCurLaunchInput = null;
        }
    }
Exemplo n.º 4
0
 public void Cancel()
 {
     if (mCurLaunchInput)
     {
         mCurLaunchInput.Cancel();
         mCurLaunchInput = null;
     }
 }
Exemplo n.º 5
0
 public void SetRegisterInput(EntityMucusFormInput input, bool add)
 {
     if (add)
     {
         mRegisteredInputs.Add(input);
     }
     else
     {
         mRegisteredInputs.Remove(input);
     }
 }