private void onPointerButtonInputUp(PointerButtonInputEventArgs args) { PointerInputEventArgs pointerInput = _pointerInputRegistry.GetPointerInput(_parameter.PointerParameter.PointerButtonIndex); if (args.Duration > _parameter.InputParameter.MaxClickDuration || (pointerInput.ScreenPosition - _pointerInputOnClickStart.ScreenPosition).magnitude > _parameter.InputParameter.MaxPointerDelta) { clean(); return; } List <PointerRaycastHit> hits = new List <PointerRaycastHit>(); foreach (PointerRaycastHit hit in pointerInput.RaycastHits) { foreach (PointerRaycastHit clickStartHit in _pointerInputOnClickStart.RaycastHits) { if (hit.Obj != clickStartHit.Obj) { continue; } hits.Add(clickStartHit); } } OnClick?.Invoke(new ClickInputEventArgs(hits.ToArray(), _pointerInputOnClickStart)); clean(); }
private void onPointerButtonInputDown(PointerButtonInputEventArgs args) { fetchCurrentPointerInput(); _pointerInputsOnClickStart[0] = _pointerInputRegistry.GetPointerInput(0); _pointerInputsOnClickStart[1] = _pointerInputRegistry.GetPointerInput(1); OnPinchStart?.Invoke(new PinchInputEventArgs(PinchState.Start, calculateAxis(), 0, _pointerInputsOnClickStart, 0)); }
private void onPointerButtonInputUp(PointerButtonInputEventArgs obj) { if (!Pinching) { return; } _pinchDuration += Time.deltaTime; fetchCurrentPointerInput(); OnPinchEnd?.Invoke(new PinchInputEventArgs(PinchState.Ended, calculateAxis(), calculateDelta(), _currentPointerInput, _pinchDuration)); clean(); }
private void onPointerButtonInputPressed(PointerButtonInputEventArgs obj) { _pinchDuration += Time.deltaTime; fetchCurrentPointerInput(); OnPinch?.Invoke(new PinchInputEventArgs(PinchState.Ongoing, calculateAxis(), calculateDelta(), _currentPointerInput, _pinchDuration)); }
private void onPointerButtonInputDown(PointerButtonInputEventArgs args) { _pointerInputOnClickStart = _pointerInputRegistry.GetPointerInput(_parameter.PointerParameter.PointerButtonIndex); }