public override void OnDrag(PointerEventData eventData)
 {
     _inputVector            = (eventData.position - _handleAnchorPos).normalized;
     Handle.anchoredPosition = eventData.position - _handleAnchorPos;
     if (_timer > DoubleTapTreshold)
     {
         OnHolding?.Invoke(_inputVector, _timer);
     }
 }
Esempio n. 2
0
    public override void OnDrag(PointerEventData eventData)
    {
        Vector2 direction = eventData.position - _position;

        _inputVector            = (direction.magnitude > Background.sizeDelta.x / 2f) ? direction.normalized : direction / (Background.sizeDelta.x / 2f);
        Handle.anchoredPosition = (_inputVector * Background.sizeDelta.x / 2f) * HandleLimit;
        if (_timer > DoubleTapTreshold)
        {
            OnHolding?.Invoke(_inputVector, _timer);
        }
    }
Esempio n. 3
0
 private void Update()
 {
     if (_timer > DoubleTapTreshold)
     {
         OnTick?.Invoke(_timer);
         if (!_isOnHoldingPushed)
         {
             OnHolding?.Invoke(_inputVector, _timer);
             _isOnHoldingPushed = true;
             // Debug.LogWarning("Drag PUSHED");
         }
     }
 }
        private void Holding(float deltaTime)
        {
            _holdingPreTime += Time.deltaTime;

            bool isValidHold = _holdingPreTime > _config.HoldMinDetectTime;

            if (!_isHolding && isValidHold)
            {
                _isHolding = true;
                OnStartHolding?.Invoke();
            }

            if (_isHolding)
            {
                OnHolding?.Invoke(deltaTime);
            }
        }