nape-js API
    Preparing search index...

    Class PreListener

    Pre-interaction listener — called before collision resolution each step.

    The handler receives a PreCallback and returns a PreFlag that determines whether and how the interaction should be processed:

    • PreFlag.ACCEPT — resolve the interaction normally (default).
    • PreFlag.IGNORE — suppress the interaction permanently (until next BEGIN).
    • PreFlag.ACCEPT_ONCE — accept this step, then revert to default.
    • PreFlag.IGNORE_ONCE — ignore this step only.

    Returning null is equivalent to ACCEPT.

    The event is always CbEvent.PRE and cannot be changed.

    Pure mode: when pure is true the engine caches the handler result and does not re-invoke it until the result is reset. This is an optimisation — only use pure when the handler will always return the same flag for a given pair.

    const preListener = new PreListener(
    InteractionType.COLLISION,
    playerType,
    onewayPlatformType,
    (cb) => cb.arbiter.collisionArbiter!.normal.y > 0
    ? PreFlag.ACCEPT
    : PreFlag.IGNORE,
    );
    space.listeners.add(preListener);

    Fully modernized from nape-compiled.js lines 1142–1338.

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get precedence(): number

      Execution priority of this listener relative to other listeners for the same event. Higher values execute first.

      Returns number

      0

    • set precedence(precedence: number): void

      Parameters

      • precedence: number

      Returns void

    • get pure(): boolean

      When true, the engine caches the handler return value and does not re-invoke the handler until the cached result is invalidated.

      Only use pure mode when the handler always returns the same flag for a given pair of interactors. Setting pure to false immediately invalidates any cached result.

      Returns boolean

    • set pure(pure: boolean): void

      Parameters

      • pure: boolean

      Returns void

    • get space(): Space | null

      The space this listener is currently registered in, or null if not registered.

      Assign to register/unregister the listener in a space:

      listener.space = mySpace;  // register
      listener.space = null; // unregister

      Returns Space | null

    • set space(space: Space | null): void

      Parameters

      Returns void

    Methods