handlerPointerMove method

  1. @override
void handlerPointerMove(
  1. PointerMoveEvent event
)
override

Implementation

@override
void handlerPointerMove(PointerMoveEvent event) {
  final pointer = event.pointer;
  final position = event.localPosition;
  bool canMove = hasGameRef &&
      _startDragPosition != null &&
      enableDrag &&
      pointer == _pointer;

  if (canMove) {
    if (this.isHud) {
      this.position = Rect.fromLTWH(
        _startDragPosition!.left + (position.dx - _startDragOffset!.dx),
        _startDragPosition!.top + (position.dy - _startDragOffset!.dy),
        _startDragPosition!.width,
        _startDragPosition!.height,
      ).toVector2Rect();
    } else {
      final absolutePosition = this.gameRef.screenPositionToWorld(position);
      this.position = Rect.fromLTWH(
        _startDragPosition!.left +
            (absolutePosition.dx - _startDragOffset!.dx),
        _startDragPosition!.top +
            (absolutePosition.dy - _startDragOffset!.dy),
        _startDragPosition!.width,
        _startDragPosition!.height,
      ).toVector2Rect();
    }
    inMoving = true;
    onMoveDrag(pointer, position);
  }
  super.handlerPointerMove(event);
}