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);
 }