public float ReplacePointer(PointerEventData eventData) { var pointer = _rectTransform.GetComponent <Pointer>(); var distance = (eventData.position - _startPosition).magnitude; var usedStamina = eventData.delta.magnitude * pointer.StaminaConsumePerLengthPoint; var currentStamina = _gameLogicManager.GetCurrentStaminaAmount(); usedStamina = usedStamina >= currentStamina ? currentStamina : usedStamina; if (_currentDistanceFromStart < distance) { _currentDistanceFromStart = distance; } else { RestartSlice(eventData.position); } ChangePointerPosition(eventData.position); pointer.IncreaseDamage(usedStamina); return(usedStamina); }