HomeWeb Components API Reference - v0.17.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 intersects this entity's geometry. They are only generated while the entity has a listener for them, registered either with addEventListener or with the matching inline onpointer* attribute.

    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.

    onpointerenter - Script to run when the pointer moves onto the entity.

    onpointerleave - Script to run when the pointer moves off the entity.

    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.

    pointerenter - Fired when the pointer moves onto the entity.

    pointerleave - Fired when the pointer moves off the entity.

    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.

    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

    • Tracks whether an inline onpointer* attribute is present. The browser itself compiles and runs these attributes — they are standard GlobalEventHandlers, so setting one replaces the previous handler and removing it removes the handler, exactly like onclick on any HTML element. But because they bypass addEventListener, the connect/disconnect bookkeeping that lets the application lazily attach its canvas pointer handlers must be kept in sync here.

      Parameters

      • name: string

        The attribute name (e.g. 'onpointerdown').

      • value: string | null

        The attribute value, or null when the attribute has been removed.

      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.