UISurface
Defined in: ui/src/UISurface.ts:27
Mounts a UI tree on an entity: entity.add(new UISurface({...})).
Owns the tree’s root UIPanel element (exposed as root) and provides
builder methods (.text(), .button(), .panel()) for constructing it.
Layout is driven by UILayoutSystem each frame.
Extends
Section titled “Extends”Component
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new UISurface(
opts?):UISurface
Defined in: ui/src/UISurface.ts:43
Parameters
Section titled “Parameters”Returns
Section titled “Returns”UISurface
Overrides
Section titled “Overrides”Component.constructor
Properties
Section titled “Properties”_anchor
Section titled “_anchor”
readonly_anchor:Anchor|undefined
Defined in: ui/src/UISurface.ts:35
Internal
_layer
Section titled “_layer”
readonly_layer:string|undefined
Defined in: ui/src/UISurface.ts:37
Internal
_offset
Section titled “_offset”
readonly_offset:object
Defined in: ui/src/UISurface.ts:36
Internal
x:
number
y:
number
_positioning
Section titled “_positioning”
readonly_positioning:"anchor"|"transform"
Defined in: ui/src/UISurface.ts:38
Internal
entity
Section titled “entity”entity:
Entity
Defined in: core/dist/index.d.ts:2593
Back-reference to the owning entity. Set by the engine when the component is added to an entity. Do not set manually.
Inherited from
Section titled “Inherited from”Component.entity
readonlyroot:UIPanel
Defined in: ui/src/UISurface.ts:34
Root element of the mounted UI tree — a UIPanel created with this
component and destroyed by it in onDestroy. Same instance for the
component’s whole lifetime; after onDestroy it is destroyed (its
destroy() is idempotent) and must not be re-added elsewhere.
restorePriority?
Section titled “restorePriority?”
staticoptionalrestorePriority?:number
Defined in: core/dist/index.d.ts:2731
Snapshot restore order. On load, an entity’s components are re-added in
ascending priority, so a component whose onAdd() reads a sibling can
rely on lower-priority siblings being present and initialized.
Undeclared = 100. Engine components reserve 0-99; game and addon
components declare a value only when a sibling onAdd() dependency
requires it. Equal priorities restore in save-time add order.
Subclasses inherit their base class’s priority unless they declare
their own.
Inherited from
Section titled “Inherited from”Component.restorePriority
Accessors
Section titled “Accessors”container
Section titled “container”Get Signature
Section titled “Get Signature”get container():
DisplayContainer
Defined in: ui/src/UISurface.ts:55
The PixiJS Container of the root panel.
Returns
Section titled “Returns”DisplayContainer
context
Section titled “context”Get Signature
Section titled “Get Signature”get context():
EngineContext
Defined in: core/dist/index.d.ts:2627
Access the EngineContext from the entity’s scene. Throws if the entity is not in a scene.
Returns
Section titled “Returns”EngineContext
Inherited from
Section titled “Inherited from”Component.context
effectiveEnabled
Section titled “effectiveEnabled”Get Signature
Section titled “Get Signature”get effectiveEnabled():
boolean
Defined in: core/dist/index.d.ts:2616
Whether the component is actually running: enabled, on an active
entity, and past onAdd. This is the state onEnable and
onDisable track — read it when a method has to behave one way
live and another way dormant.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”Component.effectiveEnabled
enabled
Section titled “enabled”Get Signature
Section titled “Get Signature”get enabled():
boolean
Defined in: core/dist/index.d.ts:2608
Whether this component runs. Disabled components are skipped by ComponentUpdateSystem.
Writing this fires onEnable / onDisable when the
effective state changes — enabled && entity.isActive. A component
disabled here stays disabled through a setActive(false) /
setActive(true) cycle on its entity.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set enabled(
value):void
Defined in: core/dist/index.d.ts:2609
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.enabled
Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: core/dist/index.d.ts:2622
Access the entity’s scene. Throws if the entity is not in a scene.
Prefer this over threading through this.entity.scene in component
code.
Returns
Section titled “Returns”Scene
Inherited from
Section titled “Inherited from”Component.scene
visible
Section titled “visible”Get Signature
Section titled “Get Signature”get visible():
boolean
Defined in: ui/src/UISurface.ts:119
Whether the mounted UI tree is visible. Reads back what you set, even while the entity is dormant and the tree is hidden.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set visible(
v):void
Defined in: ui/src/UISurface.ts:123
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Methods
Section titled “Methods”_applyEnabled()
Section titled “_applyEnabled()”_applyEnabled(
effective):void
Defined in: core/dist/index.d.ts:2681
Internal
Force an effective-enabled transition, firing the hook on a flip. Used by
Entity for teardown, where enabled and the entity’s activeness both
still read true.
Parameters
Section titled “Parameters”effective
Section titled “effective”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._applyEnabled
_refreshEnabled()
Section titled “_refreshEnabled()”_refreshEnabled():
void
Defined in: core/dist/index.d.ts:2674
Internal
Recompute effective enabled-ness from enabled and the entity’s
activeness, firing the hook on a flip.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._refreshEnabled
_runCleanups()
Section titled “_runCleanups()”_runCleanups():
void
Defined in: core/dist/index.d.ts:2668
Internal
Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onRemove/onDestroy.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._runCleanups
addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(fn):void
Defined in: core/dist/index.d.ts:2662
Register a cleanup function to run when this component is removed or destroyed.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.addCleanup
addElement()
Section titled “addElement()”addElement(
child):void
Defined in: ui/src/UISurface.ts:98
Append an arbitrary UIElement (e.g. UIImage, UIProgressBar,
UICheckbox) as the last child. Prefer the .text(), .button(),
and .panel() builders for those element types — they’re shorter.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
afterRestore()?
Section titled “afterRestore()?”
optionalafterRestore(data,resolve):void
Defined in: core/dist/index.d.ts:2735
Called after onAdd() during save/load restoration. Apply state that depends on onAdd() having run.
Parameters
Section titled “Parameters”unknown
resolve
Section titled “resolve”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.afterRestore
button()
Section titled “button()”button(
label,opts):UIButton
Defined in: ui/src/UISurface.ts:79
Add a button element.
Parameters
Section titled “Parameters”string
Omit<UIButtonProps, "children">
Returns
Section titled “Returns”fixedUpdate()?
Section titled “fixedUpdate()?”
optionalfixedUpdate(dt):void
Defined in: core/dist/index.d.ts:2720
Called every fixed timestep by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Fixed timestep in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.fixedUpdate
insertElementBefore()
Section titled “insertElementBefore()”insertElementBefore(
child,before):void
Defined in: ui/src/UISurface.ts:111
Insert child immediately before before in the root panel’s child
list. Falls back to append if before isn’t a current child.
Parameters
Section titled “Parameters”before
Section titled “before”Returns
Section titled “Returns”void
listen()
Section titled “listen()”
protectedlisten<T>(entity,token,handler):void
Defined in: core/dist/index.d.ts:2654
Subscribe to events on any entity, auto-unsubscribe on removal.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”entity
Section titled “entity”Entity
EventToken<T>
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listen
listenScene()
Section titled “listenScene()”
protectedlistenScene<T>(token,handler):void
Defined in: core/dist/index.d.ts:2660
Subscribe to scene-level events, auto-unsubscribe on removal. Handlers
fire for bubbled entity events (entity = source) and scene.emit
events (entity = undefined).
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
handler
Section titled “handler”(data, entity?) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listenScene
onAdd()
Section titled “onAdd()”onAdd():
void
Defined in: ui/src/UISurface.ts:136
Called when the component is added to an entity. Validate dependencies
here — a service, a sibling component, a render layer — and throw when
one is missing. The throw is attributed to this component, recorded in
Inspector.getErrors().callbackErrors, and rethrown, so it reaches the
caller of entity.add() unchanged.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onAdd
onDestroy()
Section titled “onDestroy()”onDestroy():
void
Defined in: ui/src/UISurface.ts:171
Called when the component is destroyed (entity destroyed or component removed).
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDestroy
onDisable()
Section titled “onDisable()”onDisable():
void
Defined in: ui/src/UISurface.ts:132
Called when the component stops being effectively enabled — enabled
went false, the entity (or an ancestor) was deactivated, or the
component is being removed or destroyed. Put live resources to sleep
here; the component is reused afterwards, so do not free anything
onEnable cannot rebuild.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDisable
onEnable()
Section titled “onEnable()”onEnable():
void
Defined in: ui/src/UISurface.ts:128
Called when the component becomes effectively enabled — enabled is
true and the entity is active. Fires right after onAdd() for a
component added to an active entity, and again on every later flip.
Bring live resources back online here (unpause a sound, show a display
object, re-enable a physics body). Game-state reset does not belong here:
the hook sees whatever state the component held while dormant.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onEnable
onRemove()?
Section titled “onRemove()?”
optionalonRemove():void
Defined in: core/dist/index.d.ts:2708
Called when the component is removed from an entity.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.onRemove
panel()
Section titled “panel()”panel(
opts?):UIPanel
Defined in: ui/src/UISurface.ts:84
Add a nested child panel.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”removeElement()
Section titled “removeElement()”removeElement(
child):void
Defined in: ui/src/UISurface.ts:103
Remove a previously added element. No-op if the element isn’t a child.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
scrollView()
Section titled “scrollView()”scrollView(
opts?):UIScrollView
Defined in: ui/src/UISurface.ts:89
Add a nested scrollable viewport.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”serialize()
Section titled “serialize()”serialize():
UISurfaceOptions
Defined in: ui/src/UISurface.ts:176
Return a JSON-serializable snapshot of this component’s state. Used by the save system.
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Component.serialize
service()
Section titled “service()”
protectedservice<T>(key):T
Defined in: core/dist/index.d.ts:2644
Lazy proxy-based service resolution. Can be used at field-declaration time:
readonly input = this.service(InputManagerKey);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”T extends object
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.service
setPointerHandlers()
Section titled “setPointerHandlers()”setPointerHandlers(
handlers):void
Defined in: ui/src/UISurface.ts:69
Set the root panel’s pointer / hover handlers (onHover,
onPointerOver, onPointerOut) after construction — forwarded to
root. (update() can’t double as the prop setter here: on a
Component it’s the per-frame lifecycle hook the engine calls.) Like
the element update, a present key replaces that handler and an absent
key leaves it intact, so a partial setPointerHandlers({ onHover })
won’t drop the others. Handy for wiring attachTooltip:
surface.setPointerHandlers({ onHover: tip.setActive }).
Parameters
Section titled “Parameters”handlers
Section titled “handlers”Returns
Section titled “Returns”void
sibling()
Section titled “sibling()”
protectedsibling<C>(cls):C
Defined in: core/dist/index.d.ts:2652
Lazy proxy-based sibling component resolution. Can be used at field-declaration time:
readonly anim = this.sibling(AnimatedSpriteComponent);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”ComponentClass<C>
Returns
Section titled “Returns”C
Inherited from
Section titled “Inherited from”Component.sibling
text()
Section titled “text()”text(
content,style?):UIText
Defined in: ui/src/UISurface.ts:74
Add a text element.
Parameters
Section titled “Parameters”content
Section titled “content”string
style?
Section titled “style?”Partial<TextStyleOptions>
Returns
Section titled “Returns”update()?
Section titled “update()?”
optionalupdate(dt):void
Defined in: core/dist/index.d.ts:2715
Called every frame by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Frame delta in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.update
protecteduse<T>(key):T
Defined in: core/dist/index.d.ts:2635
Resolve a service by key, cached after first lookup. Scene-scoped values
(registered via scene._registerScoped) take precedence over engine
scope. A key declared with scope: "scene" that falls back to engine
scope emits a one-shot dev warning — almost always signals a missed
beforeEnter hook.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.use
fromSnapshot()
Section titled “fromSnapshot()”
staticfromSnapshot(data):UISurface
Defined in: ui/src/UISurface.ts:180
Parameters
Section titled “Parameters”Returns
Section titled “Returns”UISurface