void OnPointerDrag() { Vector2 controllerPos = new Vector2(transform.position.x - pointerPosition.Value.x, pointerPosition.Value.y - transform.position.y) * DragElasticSensibility; distanceFromCenter = controllerPos.magnitude; diretion = EvaluateDirection(new Vector2(pointerPosition.Value.x - mainCh.transform.position.x, pointerPosition.Value.y - mainCh.transform.position.y)); pointerDirection = distanceFromCenter < DeadZoneRadius ? controllerPos : controllerPos.normalized * DeadZoneRadius; pointerDirection *= ForceMultiplier; switch (diretion) { case MovementDirections.Right: { pointerDirection = Vector2.right * pointerDirection.magnitude; mainCh.ChargeDash(pointerDirection, diretion); } break; case MovementDirections.Left: { pointerDirection = -Vector2.right * pointerDirection.magnitude; mainCh.ChargeDash(pointerDirection, diretion); } break; case MovementDirections.Jumping: { pointerDirection.y *= -1; mainCh.ChanrgeJump(pointerDirection, diretion); } break; default: break; } MoveControllerUI(pointerDirection); }