TimerEntity
Defined in: TimerEntity.ts:17
A pre-built entity that exposes the ProcessComponent API directly. Useful for scene-level timing without manual component wiring.
const timers = this.spawn(TimerEntity);timers.run(Process.delay(0.5, () => { ... }));const cd = timers.slot({ duration: 0.3 });Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new TimerEntity(
name?,tags?):TimerEntity
Defined in: Entity.ts:159
Parameters
Section titled “Parameters”string
Iterable<string, any, any>
Returns
Section titled “Returns”TimerEntity
Inherited from
Section titled “Inherited from”Properties
Section titled “Properties”fixedUpdate?
Section titled “fixedUpdate?”
readonlyoptionalfixedUpdate?:undefined
Defined in: Entity.ts:129
Reserved: a subclass that declares fixedUpdate fails to compile.
There is no fixed-step entity hook either, and for the same reason. Both
homes above apply: a component added to the entity, or a process on the
queue that makeSceneScopedQueue() returns when the work outlives a
single entity.
The slot is optional, so the compiler reports the subclass method as not
assignable to type undefined rather than to type never.
Inherited from
Section titled “Inherited from”
readonlyid:number
Defined in: Entity.ts:77
Unique auto-incrementing ID.
Inherited from
Section titled “Inherited from”
readonlyoptionalkey?:string
Defined in: Entity.ts:88
Stable identity key, scene-scoped. Set at spawn-time when
options.key is passed to scene.spawn / entity.spawnChild;
undefined otherwise. Used with scene.findByKey and as a stable
id in reactive stores (e.g. a createSet<string>() persisted under "world.opened").
Inherited from
Section titled “Inherited from”
readonlyname:string
Defined in: Entity.ts:79
Display name for debugging.
Inherited from
Section titled “Inherited from”
readonlytags:Set<string>
Defined in: Entity.ts:81
Tags for group queries.
Inherited from
Section titled “Inherited from”timeScale
Section titled “timeScale”timeScale:
number=1
Defined in: Entity.ts:103
Per-entity time-scale multiplier. Mirrors Scene.timeScale but
scoped to this single entity: the engine composes the delta time passed
to this entity’s components (and its ProcessComponent, particle
emitters) as dt * scene.timeScale * entity.timeScale. 1 = normal
speed, 0.5 = half speed, 0 = frozen, 2 = double speed.
Physics is deliberately NOT affected: PhysicsSystem steps a single
shared Rapier world per scene under scene.timeScale only, so a
rigid-body entity’s simulation cannot be individually slowed or sped up
via this field. Use a kinematic body or scale velocities manually if you
need per-body time control.
Inherited from
Section titled “Inherited from”update?
Section titled “update?”
readonlyoptionalupdate?:undefined
Defined in: Entity.ts:116
Reserved: a subclass that declares update fails to compile.
The engine’s per-frame pass ticks the components an entity holds, so an
entity method with this name is dead code. Per-frame logic belongs in a
component added to the entity, or in a process on the queue that
makeSceneScopedQueue() returns when the work outlives a single entity.
The slot is optional, so the compiler reports the subclass method as not
assignable to type undefined rather than to type never.
Inherited from
Section titled “Inherited from”[TRAITS_KEY]
Section titled “[TRAITS_KEY]”
static[TRAITS_KEY]:Set<symbol>
Defined in: Entity.ts:75
Inherited from
Section titled “Inherited from”Accessors
Section titled “Accessors”activeSelf
Section titled “activeSelf”Get Signature
Section titled “Get Signature”get activeSelf():
boolean
Defined in: Entity.ts:286
This entity’s own activeness bit — what setActive last wrote. An entity
whose activeSelf is true can still be dormant, if an ancestor is not.
Use isActive for the state the engine acts on.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”children
Section titled “children”Get Signature
Section titled “Get Signature”get children():
ReadonlyMap<string,Entity>
Defined in: Entity.ts:334
Named children as a read-only map. Empty map if no children.
Returns
Section titled “Returns”ReadonlyMap<string, Entity>
Inherited from
Section titled “Inherited from”generation
Section titled “generation”Get Signature
Section titled “Get Signature”get generation():
number
Defined in: Entity.ts:211
Which life of this entity is current. An EntityPool member is reused, so one object serves many lives; the counter moves on whenever a life ends, by release or by destruction. handle compares against it. Compare for equality only — a destruction cascade can advance it more than once, so it does not count lives. Written by the engine only.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”isActive
Section titled “isActive”Get Signature
Section titled “Get Signature”get isActive():
boolean
Defined in: Entity.ts:296
Whether the entity is active: its own activeSelf and every ancestor’s.
A dormant entity keeps all of its components and its place in
scene.getEntities(), but drops out of queries, findEntity,
findEntitiesByTag and findEntities, and its components stop updating.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isDestroyed
Section titled “isDestroyed”Get Signature
Section titled “Get Signature”get isDestroyed():
boolean
Defined in: Entity.ts:195
True once the entity is dead — after destroy() is called, or once its
scene starts tearing it down on scene exit.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isPooled
Section titled “isPooled”Get Signature
Section titled “Get Signature”get isPooled():
boolean
Defined in: Entity.ts:200
True while an EntityPool owns this entity.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”parent
Section titled “parent”Get Signature
Section titled “Get Signature”get parent():
Entity|null
Defined in: Entity.ts:329
The parent entity, or null if this is a root entity. A child created by
Entity.spawnChild reads null until that call returns, so its
setup() cannot reach the parent through it.
Returns
Section titled “Returns”Entity | null
Inherited from
Section titled “Inherited from”Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: Entity.ts:177
The scene this entity belongs to. Throws if the entity is not attached
to a scene — which in practice only happens before scene.spawn /
addChild wires it up, or after the entity is destroyed (end-of-frame
flush after destroy(), or scene teardown on exit). Inside lifecycle
methods (setup, component onAdd, update, and component
onDestroy during destruction) this is always safe to access.
For the rare case where you genuinely need to inspect whether an
entity has a scene (e.g. defensive code in systems iterating a query
result), use tryScene instead.
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”tryScene
Section titled “tryScene”Get Signature
Section titled “Get Signature”get tryScene():
Scene|null
Defined in: Entity.ts:187
The scene this entity belongs to, or null if detached.
Returns
Section titled “Returns”Scene | null
Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”_componentsInUpdateOrder()
Section titled “_componentsInUpdateOrder()”_componentsInUpdateOrder():
Iterable<Component>
Defined in: Entity.ts:702
Internal
Internal: components in the order ComponentUpdateSystem calls them —
ascending updatePriority, ties in add order. Identical to getAll()
until a component declares a priority. The sorted array is replaced, not
mutated, when a component is added or removed, so a pass already
iterating it finishes over the old order; a component added mid-pass
first runs next frame. The map iterator on the default path is live, so
there a component added mid-pass can run in the same pass.
Returns
Section titled “Returns”Iterable<Component>
Inherited from
Section titled “Inherited from”Entity._componentsInUpdateOrder
_deactivateForDestroy()
Section titled “_deactivateForDestroy()”_deactivateForDestroy():
void
Defined in: Entity.ts:860
Internal
Internal: deactivate immediately without touching activeSelf,
mirroring what destroy() does per-entity. Used by Scene when it
tears down every entity at once — idempotent, and safe to call in any
order across a flat entity set: an entity already reached through a
parent’s cascade is a no-op here.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_destroyOwned()
Section titled “_destroyOwned()”_destroyOwned():
void
Defined in: Entity.ts:749
Internal
Internal: destroy for real, skipping the pool redirect. Used by the owning pool when it disposes, and by the cascade below.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_detachFromParent()
Section titled “_detachFromParent()”_detachFromParent():
void
Defined in: Entity.ts:901
Internal
Internal: detach from whatever parent this entity has, without touching
children or activeness. Shared by _performDestroy, the pooled-child
branch of _destroyOwned’s cascade, and EntityPool.stow, which parks a
released member that picked up a parent mid-lease. Unlike removeChild,
this does not resync activeness — callers that need activeSelf
honoured against no parent still call setActive/_resyncActive
themselves.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_endLife()
Section titled “_endLife()”_endLife():
void
Defined in: Entity.ts:884
Internal
Internal: end this life so handles taken during it stop resolving. The
subtree follows, because it is released or destroyed with this entity.
Called by EntityPool when a lease ends; destruction goes through
_markDestroyed instead.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_invalidateUpdateOrder()
Section titled “_invalidateUpdateOrder()”_invalidateUpdateOrder(
component):void
Defined in: Entity.ts:716
Internal
Internal: a component was added or its updatePriority was written.
Switches the entity onto the sorted update path once any component
leaves the default priority, and drops the cached order so the next
update pass rebuilds it.
Parameters
Section titled “Parameters”component
Section titled “component”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_markDestroyed()
Section titled “_markDestroyed()”_markDestroyed():
void
Defined in: Entity.ts:871
Internal
Internal: mark the entity destroyed without queueing it. Called by Scene
during teardown so every entity reads isDestroyed === true before any
component onDestroy runs, and by _destroyOwned. Idempotent, and the
one place a destruction ends a life.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_markPooled()
Section titled “_markPooled()”_markPooled(
owner):void
Defined in: Entity.ts:276
Internal
Internal: mark the entity as a pool member. Called by EntityPool when
it constructs one.
Parameters
Section titled “Parameters”EntityPoolOwner
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_performDestroy()
Section titled “_performDestroy()”_performDestroy(
onError?):void
Defined in: Entity.ts:919
Internal
Internal: perform actual destruction — remove all components and clear state. Called by Scene during endOfFrame flush.
Parameters
Section titled “Parameters”onError?
Section titled “onError?”(error) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_resyncActive()
Section titled “_resyncActive()”_resyncActive():
void
Defined in: Entity.ts:800
Internal
Internal: recompute effective activeness against the current parent and
propagate to descendants. Called after setActive and after a re-parent.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_setActiveSuppressed()
Section titled “_setActiveSuppressed()”_setActiveSuppressed(
activeSelf):void
Defined in: Entity.ts:810
Internal
Internal: write activeSelf and park the entity as dormant without
firing hooks or touching queries. Pools and dormant-parent child spawns
use this to avoid transient query membership and enable hooks.
Parameters
Section titled “Parameters”activeSelf
Section titled “activeSelf”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_setKey()
Section titled “_setKey()”_setKey(
key):void
Defined in: Entity.ts:1013
Internal
Internal: assign the stable identity key. Called by Scene._registerKey
during spawn. Throws if the entity already has a key — keys are
immutable for an entity’s lifetime.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”_setScene()
Section titled “_setScene()”_setScene(
scene,callbacks):void
Defined in: Entity.ts:1002
Internal
Internal: set the scene and callbacks. Called by Scene.spawn().
Parameters
Section titled “Parameters”Scene | null
callbacks
Section titled “callbacks”EntityCallbacks | null
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”add<
C>(component):C
Defined in: Entity.ts:521
Add a component instance. Returns the component for chaining.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”component
Section titled “component”C
Returns
Section titled “Returns”C
Inherited from
Section titled “Inherited from”addChild()
Section titled “addChild()”addChild(
name,child):void
Defined in: Entity.ts:342
Add a named child entity. Auto-adds to parent’s scene if not already in one; a child that belongs to a different scene is rejected.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”cancel()
Section titled “cancel()”cancel(
tag?):void
Defined in: TimerEntity.ts:39
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
destroy()
Section titled “destroy()”destroy():
void
Defined in: Entity.ts:735
Retire the entity. Leaves its queries immediately — isActive reads
false and component onDisable fires right away — with the rest of
teardown (onDestroy, detach from scene) deferred to the end-of-frame
flush.
A pool member is retired by going back to its pool instead — its pool
owns its lifetime and destroys it only when the pool itself is disposed.
That keeps destroy() usable from the places retirement is actually
decided: a collision handler, an update, an event listener, all of which
see a plain Entity and hold no pool reference.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”emit()
Section titled “emit()”Call Signature
Section titled “Call Signature”emit(
token):void
Defined in: Entity.ts:646
Emit a typed event on this entity. Bubbles to the scene.
Parameters
Section titled “Parameters”EventToken<void>
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”emit<
T>(token,data):void
Defined in: Entity.ts:647
Emit a typed event on this entity. Bubbles to the scene.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
T
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”get<
C>(cls):C
Defined in: Entity.ts:565
Get a component by class. An exact match wins; otherwise the single
component assignable to cls is returned. Throws when nothing matches,
and when several components are assignable to cls — use
Entity.getAll for that case.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”Returns
Section titled “Returns”C
Inherited from
Section titled “Inherited from”getAll()
Section titled “getAll()”Call Signature
Section titled “Call Signature”getAll():
Iterable<Component>
Defined in: Entity.ts:675
Get all components as an iterable, in add order.
Returns
Section titled “Returns”Iterable<Component>
Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”getAll<
C>(cls): readonlyC[]
Defined in: Entity.ts:684
Every component assignable to cls — the class itself and any subclass —
in add order. The returned array is a read-only view of the entity’s
index: removing a component replaces the list rather than mutating it, so
a walk already in flight visits every member it started with. Adding one
appends to the live list, so a walk in flight also visits a component
added during it.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”Returns
Section titled “Returns”readonly C[]
Inherited from
Section titled “Inherited from”getChild()
Section titled “getChild()”getChild(
name):Entity
Defined in: Entity.ts:507
Get a child by name. Throws if not found.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”handle()
Section titled “handle()”handle():
EntityHandle<TimerEntity>
Defined in: Entity.ts:244
Capture a reference that expires with this entity’s current life, read
back through .current.
class Turret extends Entity { private target?: EntityHandle<Enemy>;
onSpotted(enemy: Enemy) { this.target = enemy.handle(); }
update() { const enemy = this.target?.current; // undefined once that enemy is gone if (enemy) this.aimAt(enemy); }}Take a handle whenever pooled entities are involved — a member can be retired from anywhere, so a stored plain reference goes stale silently. A plain reference is fine for entities that live as long as the scene, or when the code storing the reference also controls when the entity goes away.
A handle taken outside a live life never resolves: on a pool member (or an entity under one) whose pool is not currently lending it out, or on an entity that is destroyed or sits under a destroyed ancestor. In all of those the caller is holding a reference from a life that is already over.
Returns
Section titled “Returns”EntityHandle<TimerEntity>
Inherited from
Section titled “Inherited from”has(
cls):boolean
Defined in: Entity.ts:597
Check if entity has a component of the given class or any subclass of it.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”hasTrait()
Section titled “hasTrait()”hasTrait<
T>(token):this is TimerEntity & T
Defined in: Entity.ts:978
Check if this entity’s class implements a given trait. Acts as a type guard.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”TraitToken<T>
Returns
Section titled “Returns”this is TimerEntity & T
Inherited from
Section titled “Inherited from”on<
T>(token,handler): () =>void
Defined in: Entity.ts:631
Subscribe to a typed event on this entity. Returns an unsubscribe function.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”() => void
Inherited from
Section titled “Inherited from”onAcquire()?
Section titled “onAcquire()?”
optionalonAcquire(…args):void
Defined in: Entity.ts:967
Per-reuse reset, called by EntityPool every time the entity is
handed out — including the first time, right after setup(). Its
parameters become the pool’s acquire(...) arguments, so a bullet that
needs a position and a direction declares
onAcquire(x: number, y: number, dir: Vec2).
A pooled class must declare this hook: nothing else resets the state the
entity kept while dormant. Declare an empty one if there is genuinely
nothing to reset. It runs on a fully active entity, and must be
synchronous and non-overloaded — the pool derives acquire’s signature
from it, and a set of overloads keeps only the last.
Parameters
Section titled “Parameters”…unknown[]
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onRelease()?
Section titled “onRelease()?”
optionalonRelease():void
Defined in: Entity.ts:975
Called by EntityPool when the entity is released, before it goes
dormant. Optional even for pooled classes: turning components off is the
job of onDisable, so this is for game-level cleanup — dropping a
target reference, clearing a listener registered outside setup().
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”remove()
Section titled “remove()”remove(
cls):void
Defined in: Entity.ts:606
Remove the component of exactly this class. A base class is not
resolved here: remove(Base) does nothing when the entity holds only a
subclass, even though has(Base) is true. Remove the concrete class.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”removeChild()
Section titled “removeChild()”removeChild(
name):Entity
Defined in: Entity.ts:489
Remove a named child. Returns the detached entity.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”removeSlot()
Section titled “removeSlot()”removeSlot(
slot):boolean
Defined in: TimerEntity.ts:35
Parameters
Section titled “Parameters”Returns
Section titled “Returns”boolean
requireKey()
Section titled “requireKey()”requireKey():
string
Defined in: Entity.ts:988
Return the stable key, or throw if this entity was spawned without one.
Use it in the entity’s setup() or in a component’s onAdd() when the
code depends on identity (e.g. reading from a createSet keyed by entity
key). The spawn call assigns the key before setup() runs.
Returns
Section titled “Returns”string
Inherited from
Section titled “Inherited from”run(
process,options?):Process
Defined in: TimerEntity.ts:24
Parameters
Section titled “Parameters”process
Section titled “process”options?
Section titled “options?”clock?
Section titled “clock?”string[]
Returns
Section titled “Returns”setActive()
Section titled “setActive()”setActive(
active):void
Defined in: Entity.ts:318
Turn the entity on or off without destroying it. Descendants follow: a
child of a dormant entity is dormant whatever its own activeSelf says.
Components whose effective enabled-ness flips get onDisable /
onEnable. Per-component enabled flags are left alone, so a component
you disabled by hand stays disabled after the entity comes back.
bullet.setActive(false); // hidden, updates skippedbullet.get(Transform).setPosition(x, y);bullet.setActive(true); // back in play, no respawnAn entity with a RigidBodyComponent must be moved through
rb.setPosition(x, y) instead — physics owns the transform of a dynamic
body and overwrites a direct Transform write on the next frame.
Parameters
Section titled “Parameters”active
Section titled “active”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”setup()
Section titled “setup()”setup():
void
Defined in: TimerEntity.ts:20
Optional setup method. Called by scene.spawn(Class, params) after the
entity is wired to its scene, so components can access services.
Override in subclasses — do NOT use the constructor for component setup.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”slot()
Section titled “slot()”slot(
config?):ProcessSlot
Defined in: TimerEntity.ts:31
Parameters
Section titled “Parameters”config?
Section titled “config?”Returns
Section titled “Returns”spawnChild()
Section titled “spawnChild()”Call Signature
Section titled “Call Signature”spawnChild(
name,options?):Entity
Defined in: Entity.ts:410
Spawn a new entity in this entity’s scene and add it as a named child.
Combines scene.spawn(...) + this.addChild(name, ...) in one call —
the idiomatic way to compose entity trees (logical root + visual body
- UI sibling + …).
Mirrors the overload shape of Scene.spawn: pass an Entity subclass
(with optional setup params), a Blueprint, or omit for an anonymous
base Entity.
The parent link is made after the child is built: child.parent is
null for the whole of its setup(), including the onAdd() of every
component that setup adds, and holds the parent once this call
returns. Pass the parent as a setup param when the child
needs it. To have setup() read this.parent, reserve both entities in
a scene.spawnBatch and call batch.addChild before batch.setup.
this.spawnChild("body", EnemyBody, { color: 0xff6b6b });this.spawnChild("hp", EnemyHealthBar);Parameters
Section titled “Parameters”string
options?
Section titled “options?”Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”spawnChild<
E>(name,Class, …rest):E
Defined in: Entity.ts:411
Spawn a new entity in this entity’s scene and add it as a named child.
Combines scene.spawn(...) + this.addChild(name, ...) in one call —
the idiomatic way to compose entity trees (logical root + visual body
- UI sibling + …).
Mirrors the overload shape of Scene.spawn: pass an Entity subclass
(with optional setup params), a Blueprint, or omit for an anonymous
base Entity.
The parent link is made after the child is built: child.parent is
null for the whole of its setup(), including the onAdd() of every
component that setup adds, and holds the parent once this call
returns. Pass the parent as a setup param when the child
needs it. To have setup() read this.parent, reserve both entities in
a scene.spawnBatch and call batch.addChild before batch.setup.
this.spawnChild("body", EnemyBody, { color: 0xff6b6b });this.spawnChild("hp", EnemyHealthBar);Type Parameters
Section titled “Type Parameters”E extends Entity
Parameters
Section titled “Parameters”string
() => E
…ClassSpawnArgs<E>
Returns
Section titled “Returns”E
Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”spawnChild<
P>(name,blueprint,params,options?):Entity
Defined in: Entity.ts:416
Spawn a new entity in this entity’s scene and add it as a named child.
Combines scene.spawn(...) + this.addChild(name, ...) in one call —
the idiomatic way to compose entity trees (logical root + visual body
- UI sibling + …).
Mirrors the overload shape of Scene.spawn: pass an Entity subclass
(with optional setup params), a Blueprint, or omit for an anonymous
base Entity.
The parent link is made after the child is built: child.parent is
null for the whole of its setup(), including the onAdd() of every
component that setup adds, and holds the parent once this call
returns. Pass the parent as a setup param when the child
needs it. To have setup() read this.parent, reserve both entities in
a scene.spawnBatch and call batch.addChild before batch.setup.
this.spawnChild("body", EnemyBody, { color: 0xff6b6b });this.spawnChild("hp", EnemyHealthBar);Type Parameters
Section titled “Type Parameters”P
Parameters
Section titled “Parameters”string
blueprint
Section titled “blueprint”Blueprint<P>
params
Section titled “params”P
options?
Section titled “options?”Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”spawnChild(
name,blueprint,options?):Entity
Defined in: Entity.ts:422
Spawn a new entity in this entity’s scene and add it as a named child.
Combines scene.spawn(...) + this.addChild(name, ...) in one call —
the idiomatic way to compose entity trees (logical root + visual body
- UI sibling + …).
Mirrors the overload shape of Scene.spawn: pass an Entity subclass
(with optional setup params), a Blueprint, or omit for an anonymous
base Entity.
The parent link is made after the child is built: child.parent is
null for the whole of its setup(), including the onAdd() of every
component that setup adds, and holds the parent once this call
returns. Pass the parent as a setup param when the child
needs it. To have setup() read this.parent, reserve both entities in
a scene.spawnBatch and call batch.addChild before batch.setup.
this.spawnChild("body", EnemyBody, { color: 0xff6b6b });this.spawnChild("hp", EnemyHealthBar);Parameters
Section titled “Parameters”string
blueprint
Section titled “blueprint”Blueprint<void>
options?
Section titled “options?”Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”tryGet()
Section titled “tryGet()”tryGet<
C>(cls):C|undefined
Defined in: Entity.ts:580
Get a component by class, or undefined if none matches. An exact match
wins; otherwise the single component assignable to cls is returned.
Throws when several are assignable — use Entity.getAll instead.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”Returns
Section titled “Returns”C | undefined
Inherited from
Section titled “Inherited from”tryGetChild()
Section titled “tryGetChild()”tryGetChild(
name):Entity|undefined
Defined in: Entity.ts:516
Get a child by name, or undefined if not found.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Entity | undefined
Inherited from
Section titled “Inherited from”Coding agents: fetch https://yage.dev/llms.txt first and prefer the Markdown references it links over these HTML pages. This page's Markdown counterpart is /llms/packages/core.md.