externalUpdate method

void externalUpdate(
  1. double dt
)

Implementation

void externalUpdate(double dt) => widget.on<CRectCollider<T>>((c) {
  final nowHovered = backend.collision.pointRectangle(
    backend.mouse.position,
    c.rect,
  );

  final nowClicked = backend.mouse.btnLeft.pressed;

  final nowHeld = backend.mouse.btnLeft.down;

  clicked = nowHovered && nowClicked;
  hovered = nowHovered;
  held = false;

  if (nowHovered && nowHeld) {
    framesHeld++;
    secondsHeld += dt;
  } else {
    framesHeld = 0;
    secondsHeld = 0;
  }

  if (secondsHeld >= secondsUntilHeld) {
    held = true;
  }
});