handlerPointerDown method

  1. @override
void handlerPointerDown(
  1. PointerDownEvent event
)
override

Implementation

@override
void handlerPointerDown(PointerDownEvent event) {
  if (!enableMouseGesture) return;
  if (event.kind != PointerDeviceKind.mouse) return;
  final pointer = event.pointer;
  final position = event.localPosition.toVector2();
  if (hasGameRef) {
    if (this.isHud) {
      if (containsPoint(position)) {
        _pointer = pointer;
        _buttonClicked = event.buttons;

        switch (_buttonClicked) {
          case kPrimaryMouseButton:
            onMouseTapDownLeft(pointer, position);
            break;
          case kSecondaryMouseButton:
            onMouseTapDownRight(pointer, position);
            break;
          case kMiddleMouseButton:
            onMouseTapDownMiddle(pointer, position);
            break;
        }
      }
    } else {
      final absolutePosition = this.gameRef.screenToWorld(position);
      if (containsPoint(absolutePosition)) {
        _pointer = pointer;
        _buttonClicked = event.buttons;
        switch (_buttonClicked) {
          case kPrimaryMouseButton:
            onMouseTapDownLeft(pointer, position);
            break;
          case kSecondaryMouseButton:
            onMouseTapDownRight(pointer, position);
            break;
          case kMiddleMouseButton:
            onMouseTapDownMiddle(pointer, position);
            break;
        }
      }
    }
  }
  super.handlerPointerDown(event);
}