private void Update() { _prevPointerDownState = _pointerDownState; if (UnityEngine.Input.GetMouseButtonDown(0)) { OnPointerDown?.Invoke(); _pointerDownState = true; } if (UnityEngine.Input.GetMouseButtonUp(0)) { OnPointerUp?.Invoke(); _pointerDownState = false; } Vector2 mousePosition = UnityEngine.Input.mousePosition; Vector2 posDifference = mousePosition - _prevMousePos; if (posDifference.magnitude > 0f) { OnPointerMoved?.Invoke(posDifference); _prevMousePos = mousePosition; if (_prevPointerDownState && _pointerDownState) { OnPointerDragged?.Invoke(posDifference); } } }
/// <summary> /// Executes the OnPointerUp trigger. You can force an execution of this trigger (regardless if it's enabled or not) by calling this method with forcedExecution set to TRUE /// </summary> /// <param name="forcedExecution">Fires this trigger regardless if it is enabled or not (default:false)</param> public void ExecutePointerUp(bool forcedExecution = false) { if (forcedExecution) { if (debugThis) { Debug.Log("DebugMode - UIButton - " + name + " | Executing OnPointerUp initiated through forcedExecution"); } OnPointerUp.Invoke(); return; } if (useOnPointerUp) { if (debugThis) { Debug.Log("DebugMode - UIButton - " + name + " | Executing OnPointerUp"); } if (interactable) { OnPointerUp.Invoke(); } } if (useOnLongClick) { StopLongClickListener(); } }
void IPointerUpHandler.OnPointerUp(PointerEventData eventData) { OnPointerUp?.Invoke(this); }
void IPointerUpHandler.OnPointerUp(PointerEventData eventData) { IsPointerDowned = false; OnPointerUp?.Invoke(); }
private void OnMouseUp() => OnPointerUp?.Invoke(this);
public virtual void InvokeUp() => OnPointerUp?.Invoke();
public void PointerUp() { OnPointerUp?.Invoke(); }