ResourceHandle
Defined in: src/handle.ts:543
A handle for resources spawned with resource().
Extends
Section titled “Extends”Type Parameters
Section titled “Type Parameters”Value = unknown
Properties
Section titled “Properties”[VALUE_SYMBOL]
Section titled “[VALUE_SYMBOL]”[VALUE_SYMBOL]:
Value
Defined in: src/handle.ts:544
readonlyid:RawId
Defined in: src/handle.ts:130
The numeric ID underlying this handle.
Meant to be used when one cannot use the higher-level abstractions provided by Toucan, such as storing an entity’s ID in an instance’s attribute, which cannot hold complex data structures.
In order to get back the high-level handle from an ID, use the
resolveId function.
Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”changed()
Section titled “changed()”changed(
listener): () =>void
Defined in: src/handle.ts:572
Registers a listener that is called whenever the value of this resource changes.
The returned function can be called to unregister the listener.
Parameters
Section titled “Parameters”listener
Section titled “listener”(newValue) => void
Returns
Section titled “Returns”():
void
Returns
Section titled “Returns”void
children()
Section titled “children()”children():
Handle[]
Defined in: src/handle.ts:347
Gets all children (the sources of ChildOf relationships) for this entity.
Returns
Section titled “Returns”Handle[]
Example
Section titled “Example”const alice = entity()const charlie = entity().set(pair(ChildOf, alice))const bob = entity().set(pair(ChildOf, alice))
const children = alice.children() // [charlie, bob]Inherited from
Section titled “Inherited from”clear()
Section titled “clear()”clear():
this
Defined in: src/handle.ts:262
Clears all components and relationship pairs from this entity, but does not despawn the entity.
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”components()
Section titled “components()”components():
ComponentHandle<unknown>[]
Defined in: src/handle.ts:271
Returns all components associated with this entity.
Returns
Section titled “Returns”ComponentHandle<unknown>[]
Inherited from
Section titled “Inherited from”despawn()
Section titled “despawn()”despawn():
void
Defined in: src/handle.ts:449
Completely deletes this entity from the world.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”exists()
Section titled “exists()”exists():
boolean
Defined in: src/handle.ts:358
Returns true if this entity exists.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”get<
Args>(…componentsOrPairs):Flatten<Nullable<InferValues<Args>>>
Defined in: src/handle.ts:216
Retrieves the values of up to 4 components or relationship pairs on this entity.
Missing components or pairs will return undefined.
Type Parameters
Section titled “Type Parameters”Args extends OneUpToFour<Pair<unknown> | ComponentHandle<unknown>>
Parameters
Section titled “Parameters”componentsOrPairs
Section titled “componentsOrPairs”…Args
Returns
Section titled “Returns”Flatten<Nullable<InferValues<Args>>>
Example
Section titled “Example”const name = myEntity.get(Name)
const [position, velocity] = myEntity.get(Position, Velocity)
const carCount = myEntity.get(pair(Owns, car))Inherited from
Section titled “Inherited from”has(…
componentsOrPairs):boolean
Defined in: src/handle.ts:245
Returns true if this entity has all of the specified components or
relationship pairs.
A maximum of 4 components or pairs can be checked at once.
Parameters
Section titled “Parameters”componentsOrPairs
Section titled “componentsOrPairs”…OneUpToFour<Pair<unknown> | ComponentHandle<unknown>>
Returns
Section titled “Returns”boolean
Example
Section titled “Example”const IsDead = component()const Owns = component()
const house = entity()const bob = entity() .set(IsDead) .set(pair(Owns, house))
if (bob.has(IsDead, pair(Owns, house))) { // Why don't we rob Bob's house?}Inherited from
Section titled “Inherited from”parent()
Section titled “parent()”parent():
Handle|undefined
Defined in: src/handle.ts:330
Gets the parent (the target of a ChildOf relationship) for this entity, if such a relationship exists.
Returns
Section titled “Returns”Handle | undefined
Example
Section titled “Example”const alice = entity()const charlie = entity().set(pair(ChildOf, alice))
const parent = charlie.parent() // aliceInherited from
Section titled “Inherited from”read()
Section titled “read()”read():
Value
Defined in: src/handle.ts:552
Returns the current value of this resource.
Not to be confused with get, which can be used to retrieve the value of
components attached to resources, just like with entities.
Returns
Section titled “Returns”Value
relationships()
Section titled “relationships()”relationships():
Pair<unknown>[]
Defined in: src/handle.ts:292
Returns all relationship pairs associated with this entity.
Returns
Section titled “Returns”Pair<unknown>[]
Inherited from
Section titled “Inherited from”remove()
Section titled “remove()”remove(
componentOrPair):this
Defined in: src/handle.ts:252
Removes a component or relationship pair from this entity.
Parameters
Section titled “Parameters”componentOrPair
Section titled “componentOrPair”Pair<unknown> | ComponentHandle<unknown>
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”set(
tagComponent):this
Defined in: src/handle.ts:145
Assigns a tag component to this entity.
Parameters
Section titled “Parameters”tagComponent
Section titled “tagComponent”ComponentHandle<undefined>
Returns
Section titled “Returns”this
Example
Section titled “Example”const IsAlive = component()myEntity.set(IsAlive)Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”set<
V>(component,value):this
Defined in: src/handle.ts:159
Assigns a component and its value to this entity.
Type Parameters
Section titled “Type Parameters”V
Parameters
Section titled “Parameters”component
Section titled “component”NoInfer
Returns
Section titled “Returns”this
Example
Section titled “Example”const Health = component<number>()const Stamina = component<number>()
entity() .set(Health, 100) .set(Stamina, 50)Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”set(
tagPair):this
Defined in: src/handle.ts:172
Assigns a relationship pair to this entity.
Parameters
Section titled “Parameters”tagPair
Section titled “tagPair”Pair<undefined>
Returns
Section titled “Returns”this
Example
Section titled “Example”const Likes = component()
const bob = entity()const alice = entity() .set(pair(Likes, bob))Inherited from
Section titled “Inherited from”Call Signature
Section titled “Call Signature”set<
P>(pair,value):this
Defined in: src/handle.ts:188
Assigns a relationship pair and its value to this entity.
Type Parameters
Section titled “Type Parameters”P extends Pair<unknown>
Parameters
Section titled “Parameters”P
InferValue<P>
Returns
Section titled “Returns”this
Example
Section titled “Example”const Owns = component<number>()
const car = entity()const perfume = entity()
const alice = entity() .set(pair(Owns, car), 2) .set(pair(Owns, perfume), 5)Inherited from
Section titled “Inherited from”targetOf()
Section titled “targetOf()”targetOf(
relation,nth?):Handle|undefined
Defined in: src/handle.ts:383
Returns the target entity of a relationship pair from this entity.
If there are multiple targets for the given relationship, the nth index
can be specified (starting at 0).
Parameters
Section titled “Parameters”relation
Section titled “relation”number = 0
Returns
Section titled “Returns”Handle | undefined
Example
Section titled “Example”const Likes = component()
const bob = entity()const charlie = entity()const alice = entity() .set(pair(Likes, bob)) .set(pair(Likes, charlie))
// The order of targets is not guaranteed.const maybeBob = alice.targetOf(Likes, 0)const maybeCharlie = alice.targetOf(Likes, 1)Inherited from
Section titled “Inherited from”targetsOf()
Section titled “targetsOf()”targetsOf(
relation):Handle[]
Defined in: src/handle.ts:404
Returns all target entities of a relationship pair from this entity.
Parameters
Section titled “Parameters”relation
Section titled “relation”Returns
Section titled “Returns”Handle[]
Example
Section titled “Example”const Likes = component()
const bob = entity()const charlie = entity()const alice = entity() .set(pair(Likes, bob)) .set(pair(Likes, charlie))
const likedEntities = alice.targetsOf(Likes)Inherited from
Section titled “Inherited from”toString()
Section titled “toString()”toString():
string
Defined in: src/handle.ts:315
Gets the label assigned to this entity.
Returns
Section titled “Returns”string
Inherited from
Section titled “Inherited from”write()
Section titled “write()”write(
value):this
Defined in: src/handle.ts:562
Updates the value of the resource.
Not to be confused with set, which can be used to set the value of
components attached to resources, just like with entities.
Parameters
Section titled “Parameters”Value
Returns
Section titled “Returns”this