HomeWeb Components API Reference - v0.28.0
    Preparing search index...

    Class EntityElement

    The EntityElement interface provides properties and methods for manipulating <pc-entity> elements. The EntityElement interface also inherits the properties and methods of the HTMLElement interface.

    The pointer events below are dispatched by the containing <pc-app> element when the pointer is over this entity's geometry, and behave like the DOM's own pointer events: each targets the element fronting the deepest node under the pointer and propagates up the element tree, so a listener on an ancestor entity, or on <pc-scene>, also receives the events of the entities below it. pointerenter and pointerleave do not bubble - they are dispatched to each element the pointer moves onto or off. <pc-app> picks the scene for an event type while a listener for it is registered on an entity element or on <pc-scene>; its picking attribute covers listeners it cannot see, such as a framework's delegated handlers.

    enabled - The enabled state of the entity.

    name - The name of the entity.

    position - The position of the entity.

    rotation - The rotation of the entity.

    scale - The scale of the entity.

    tags - The tags of the entity.

    onpointerover - Script to run when the pointer moves onto the entity, or onto an entity below it.

    onpointerenter - Script to run when the pointer moves onto the entity or an entity below it, having been over none of them.

    onpointermove - Script to run when the pointer moves over the entity.

    onpointerdown - Script to run when a pointer button is pressed over the entity.

    onpointerup - Script to run when a pointer button is released over the entity.

    onpointercancel - Script to run when the browser cancels a press that began over the entity, for example because a touch became a scroll.

    onpointerout - Script to run when the pointer moves off the entity, or off an entity below it.

    onpointerleave - Script to run when the pointer moves off the entity and every entity below it.

    onclick - Script to run when the entity is clicked: a primary pointer button pressed and then released over it.

    pointerover - Fired when the pointer moves onto the entity. Bubbles; relatedTarget is the element the pointer came from, which is <pc-app> when it came from the background.

    pointerenter - Fired when the pointer moves onto the entity or an entity below it, having been over none of them. Does not bubble.

    pointermove - Fired when the pointer moves over the entity.

    pointerdown - Fired when a pointer button is pressed over the entity.

    pointerup - Fired when a pointer button is released over the entity.

    pointercancel - Fired on the entity a press began over when the browser cancels that press, for example because a touch became a scroll. No click follows.

    pointerout - Fired when the pointer moves off the entity. Bubbles; relatedTarget is the element the pointer went to, which is <pc-app> when it went to the background.

    pointerleave - Fired when the pointer moves off the entity and every entity below it. Does not bubble.

    click - Fired when a primary pointer button is pressed and then released over the entity. A press and release that picked different elements fires on their nearest common ancestor instead, as in the DOM. detail carries the click count, so a double click arrives as a click whose detail is 2.

    Hierarchy (View Summary)

    Index
    _appElement: AppElement | null = null

    The application element this entity is registered with, cached at registration time so the entity can be unregistered even once this element has left the DOM.

    _built: boolean = false

    Whether the hierarchy has been built for this entity — set once _buildHierarchy has parented it. Read by subclasses that gate work on the entity being in the scene graph.

    • get closestApp(): AppElement | null

      The nearest ancestor <pc-app> element, or null if this element has no <pc-app> ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns AppElement | null

      The closest app element, or null.

    • get closestEntity(): EntityBaseElement | null

      The nearest ancestor element that fronts an entity — <pc-entity>, <pc-model> or <pc-node> — or null if this element has no such ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns EntityBaseElement | null

      The closest entity-fronting element, or null.

    • get enabled(): boolean

      Gets the enabled state of the entity.

      Returns boolean

      Whether the entity is enabled.

    • set enabled(value: boolean): void

      Sets the enabled state of the entity.

      Parameters

      • value: boolean

        Whether the entity is enabled.

      Returns void

    • get entity(): Entity | null

      The PlayCanvas entity instance. null until the element is ready, and again once the entity is gone — await whenReady or the element's ready() promise before accessing it.

      Returns Entity | null

      The entity instance, or null.

    • get name(): string

      Gets the name of the entity.

      Returns string

      The name of the entity.

    • set name(value: string): void

      Sets the name of the entity.

      Parameters

      • value: string

        The name of the entity.

      Returns void

    • get position(): Vec3

      Gets the position of the entity.

      Returns Vec3

      The position of the entity.

    • set position(value: Vec3): void

      Sets the position of the entity.

      Parameters

      • value: Vec3

        The position of the entity.

      Returns void

    • get rotation(): Vec3

      Gets the rotation of the entity.

      Returns Vec3

      The rotation of the entity.

    • set rotation(value: Vec3): void

      Sets the rotation of the entity.

      Parameters

      • value: Vec3

        The rotation of the entity.

      Returns void

    • get scale(): Vec3

      Gets the scale of the entity.

      Returns Vec3

      The scale of the entity.

    • set scale(value: Vec3): void

      Sets the scale of the entity.

      Parameters

      • value: Vec3

        The scale of the entity.

      Returns void

    • get tags(): string[]

      Gets the tags of the entity.

      Returns string[]

      The tags of the entity.

    • set tags(value: string[]): void

      Sets the tags of the entity.

      Parameters

      • value: string[]

        The tags of the entity.

      Returns void

    • Called by _buildHierarchy once the backing entity has been parented — exactly once per build cycle. The default announces readiness, which is what a parented <pc-entity> means; <pc-model> overrides it to start loading content instead, because its readiness tracks the content settling rather than the host entering the scene graph.

      Returns void

    • Handles the destruction of the backing entity. Resets the element so a later re-insertion starts clean: _built must be cleared alongside _entity, or _buildHierarchy would bail and a re-created entity would never be parented. Readiness is re-armed for the same reason — with the entity gone, a resolved ready promise would resume its awaiters against a null entity.

      Parameters

      • entity: Entity

        The entity that was destroyed.

      Returns void

    • Called when the element is fully initialized and ready. Subclasses should call this when they're ready. Resolves the ready promise and dispatches a bubbling, composed ready event. Signals at most once per readiness cycle: a repeat call before _resetReady has re-armed the promise does nothing.

      Returns void

    • Registers entity as this element's backing entity with the owning application, which joins engine nodes back to elements by identity (never by name).

      Parameters

      • entity: Entity

        The entity to register.

      Returns void

    • Returns the ready promise to its pending state. Subclasses should call this when the resource their readiness announced is torn down (typically from disconnectedCallback), so that a later re-initialization can signal readiness again. Does nothing while the promise is still pending — an in-flight waiter carries over to the next readiness cycle rather than being stranded on a promise nothing will ever resolve.

      Returns void

    • Returns a promise that resolves with this element when it's ready. This is the low-level primitive underlying whenReady, which is the recommended way to wait for elements.

      Readiness tracks the element's current lifecycle: once a ready element is torn down (for example by removing it from the document), this returns a fresh promise that resolves when the element is next ready. A promise obtained earlier stays resolved — call this again after re-inserting an element rather than reusing a promise from before its removal.

      Returns Promise<EntityElement>

      A promise that resolves with this element when it's ready.