handlerPointerUp method

  1. @override
void handlerPointerUp(
  1. PointerUpEvent event
)
override

Implementation

@override
void handlerPointerUp(PointerUpEvent event) {
  if (!enableMouseGesture) return;
  if (event.kind != PointerDeviceKind.mouse) return;
  final pointer = event.pointer;
  final position = event.localPosition.toVector2();
  if (pointer == _pointer && hasGameRef) {
    if (this.isHud) {
      if (containsPoint(position)) {
        switch (_buttonClicked) {
          case kPrimaryMouseButton:
            onMouseTapUpLeft(pointer, position);
            onMouseTapLeft();
            break;
          case kSecondaryMouseButton:
            onMouseTapUpRight(pointer, position);
            onMouseTapRight();
            break;
          case kMiddleMouseButton:
            onMouseTapUpMiddle(pointer, position);
            onMouseTapMiddle();
            break;
        }
      } else {
        onMouseCancel();
      }
    } else {
      final absolutePosition = this.gameRef.screenToWorld(position);
      if (containsPoint(absolutePosition)) {
        switch (_buttonClicked) {
          case kPrimaryMouseButton:
            onMouseTapUpLeft(pointer, position);
            onMouseTapLeft();
            break;
          case kSecondaryMouseButton:
            onMouseTapUpRight(pointer, position);
            onMouseTapRight();
            break;
          case kMiddleMouseButton:
            onMouseTapUpMiddle(pointer, position);
            onMouseTapMiddle();
            break;
        }
      } else {
        onMouseCancel();
      }
    }
    _pointer = -1;
  }
  super.handlerPointerUp(event);
}