initialize method
Implementation
void initialize(Vector2 _screenSize, JoystickController joystickController) {
_joystickController = joystickController;
double radius = size / 2;
double dx = 0, dy = 0;
switch (align) {
case JoystickActionAlign.TOP_LEFT:
dx = margin.left + radius;
dy = margin.top + radius;
break;
case JoystickActionAlign.BOTTOM_LEFT:
dx = margin.left + radius;
dy = _screenSize.y - (margin.bottom + radius);
break;
case JoystickActionAlign.TOP_RIGHT:
dx = _screenSize.x - (margin.right + radius);
dy = margin.top + radius;
break;
case JoystickActionAlign.BOTTOM_RIGHT:
dx = _screenSize.x - (margin.right + radius);
dy = _screenSize.y - (margin.bottom + radius);
break;
}
_rect = Rect.fromCircle(
center: Offset(dx, dy),
radius: radius,
).toVector2Rect();
_rectBackgroundDirection = Rect.fromCircle(
center: Offset(dx, dy),
radius: _sizeBackgroundDirection / 2,
).toVector2Rect();
_dragPosition = _rect!.center;
}