public virtual void OnDrag(PointerEventData eventData)
    {
        currentPosition = eventData.position;

        blade.UpdatePosition(currentPosition);

        direction = (currentPosition - origin).normalized;

        blade.SetDirection(direction);

        origin = currentPosition;
    }