@kayelaa/canvas API - v0.3.2
    Preparing search index...

    Class RectLeaEntity<ExtraEventMap>Abstract

    Rectangular entity with centered position, width, height, and basic AABB collision.

    Automatically handles translation and rotation for drawing if needed.

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    listenerMap: Map<
        | "error"
        | "draw"
        | "update"
        | Exclude<keyof ExtraEventMap, "error" | "draw" | "update">,
        Listener<any[]>[],
    > = ...
    name: string = ""

    Unique name of the entity (used for lookup and serialization).

    scaleRotate: number = 0
    scale: number = 1
    hookMap: Map
    totalDeltas: number = 0
    arraySerializeMap?: LeaEntitySerializer<any>
    autoTranslate: boolean
    z: number

    Z-order for draw sorting (higher = drawn later / on top).

    nonSerializableProperties: (string | number | symbol)[]
    forceSerializableProperties: (string | number | symbol)[]
    customUpdateOwner?: LeaEntityII<any>
    width: number

    Width of the rectangle (centered on x).

    height: number

    Height of the rectangle (centered on y).

    color: string = "rgba(0, 0, 255, 0.3)"

    Default fill color for the rectangle (used in base draw implementation).

    Accessors

    • get left(): number

      Left edge of the bounding box.

      Returns number

    • set left(val: number): void

      Parameters

      • val: number

      Returns void

    • get right(): number

      Right edge of the bounding box.

      Returns number

    • set right(val: number): void

      Parameters

      • val: number

      Returns void

    • get top(): number

      Top edge of the bounding box.

      Returns number

    • set top(val: number): void

      Parameters

      • val: number

      Returns void

    • get bottom(): number

      Bottom edge of the bounding box.

      Returns number

    • set bottom(val: number): void

      Parameters

      • val: number

      Returns void

    Methods

    • Await the next emission of a specific event. Resolves with the arguments passed to that event.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • event: K
      • timeout: number = ...

      Returns Promise<
          MergeObject<
              ExtraEventMap,
              { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
          >[K],
      >

    • Await the next emission of any one of the listed events. Resolves with { event: name, args: the arguments it received }

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • events: K[]

      Returns Promise<
          {
              event: K;
              args: MergeObject<
                  ExtraEventMap,
                  { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
              >[K];
          },
      >

    • Type Parameters

      • const K extends readonly (
            | "error"
            | "draw"
            | "update"
            | Exclude<keyof ExtraEventMap, "error" | "draw" | "update">
        )[]

      Parameters

      • ...events: K

      Returns Promise<
          {
              [I in string
              | number
              | symbol]: MergeObject<
                  ExtraEventMap,
                  { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
              >[K[I<I>]]
          },
      >

    • Registers a listener for the specified event.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: MergeObject<
                ExtraEventMap,
                { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
            >[K],
        ) => void

        The callback to invoke when the event is emitted

      Returns this

      This emitter for chaining

    • Registers a listener for the specified event but returns a cleanup func.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            off: () => void,
            ...args: MergeObject<
                ExtraEventMap,
                { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
            >[K],
        ) => void

        The callback to invoke when the event is emitted

      Returns () => void

    • Registers a one-time listener for the specified event.

      The listener is automatically removed after the first invocation.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: MergeObject<
                ExtraEventMap,
                { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
            >[K],
        ) => void

        The callback to invoke once

      Returns this

      This emitter for chaining

    • Removes a listener for the specified event.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (
            ...args: MergeObject<
                ExtraEventMap,
                { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
            >[K],
        ) => void

        The callback to remove

      Returns this

      This emitter for chaining

    • Emits an event, invoking all registered listeners with the provided arguments.

      If the event is "error" and no listeners are registered, the first argument (the error) will be thrown.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event to emit

      • ...args: MergeObject<
            ExtraEventMap,
            { update: [number]; error: [unknown]; draw: [CanvasRenderingContext2D] },
        >[K]

        Arguments to pass to listeners

      Returns boolean

      true if any listeners were invoked, false otherwise

    • Emits an event, invoking all registered listeners with the provided arguments.

      If the event is "error" and no listeners are registered, the first argument (the error) will be thrown.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The name of the event to emit

      • ...args: any

        Arguments to pass to listeners

      Returns boolean

      true if any listeners were invoked, false otherwise

    • Returns the number of listeners registered for the specified event.

      Type Parameters

      • K extends string | number | symbol

        Event name

      Parameters

      • event: K

        The event to count listeners for

      Returns number

      The number of registered listeners

    • Serializes the entity to a plain object (for save/load).

      Excludes internal properties and respects nonSerializableProperties.

      Returns any

      Serializable data

    • Converts a world position to local space relative to this entity.

      Parameters

      Returns Vector2

      Local position

    • Checks for axis-aligned bounding box collision with another rectangular entity.

      Parameters

      Returns boolean

      true if the bounding boxes overlap

    • Called once per tick with delta time (seconds).

      Parameters

      • _delta: number

      Returns void

    • Draws a filled rectangle centered on the entity's position.

      Subclasses should override or call super.draw(ctx) if extending.

      Parameters

      • ctx: CanvasRenderingContext2D

        The 2D rendering context

      Returns void