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); } }
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); } }
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; } }
public void Cancel() { if (mCurLaunchInput) { mCurLaunchInput.Cancel(); mCurLaunchInput = null; } }
public void SetRegisterInput(EntityMucusFormInput input, bool add) { if (add) { mRegisteredInputs.Add(input); } else { mRegisteredInputs.Remove(input); } }