private void StickPosition(Vector2 pos) { Vector2 centerPosition = stickBaseTransform.position; float distance = Vector2.Distance(pos, centerPosition); if (distance > stickBaseRadius) { var direction = (pos - centerPosition); direction *= stickBaseRadius / distance; pos = centerPosition + direction; } stickTransform.position = pos; var moveVector = (pos - startPos) / stickBaseRadius; OnMoveStickEvent?.Invoke(moveVector); }
public void OnFingerUp(BaseEventData ev) { stickBaseTransform.position = initialTransform.position; stickTransform.localPosition = Vector2.zero; OnMoveStickEvent?.Invoke(Vector2.zero); }