docs for world:targets

This commit is contained in:
kurokuukyo 2026-04-21 14:23:11 -04:00
parent e2c56f5420
commit 7824c1aa55
2 changed files with 17 additions and 0 deletions

View file

@ -6,6 +6,10 @@
Use target when you have queried with a wildcard (e.g. pair(Eats, jecs.Wildcard))
and need the actual target entity for each result. Without an index, the
default is 0 (the first target).
world:targets(entity, relation) returns an iterator for all targets of a relation.
Use targets when you need to get every possible target for all indexes.
]]
local jecs = require("@jecs")
@ -35,3 +39,8 @@ print(third == nil) -- true
-- Omitting the index is the same as index 0
local default = world:target(bob, Eats)
print(default == Apples) -- true
-- Iterates through all targets
for target in world:targets(bob, Eats) do
print(target)
end

8
src/jecs.d.ts vendored
View file

@ -155,6 +155,14 @@ export class World {
*/
target(entity: Entity, relation: Entity, index?: number): Entity | undefined;
/**
* Gets an iterator for all targets of a relationship.
* Returns an empty iterator if no matches are found.
* @param entity The entity using a relationship pair.
* @param relation The "relationship" component/tag
*/
targets(entity: Entity, relation: Entity): Iter<Entity>
/**
* Deletes an entity (and its components/relationships) from the world entirely.
* @param entity The entity to delete.