Position
Beschreibung​
Diese Komponente steuert die Positionierung des Objekts im lokalen Raum.
Eigenschaften​
Eigenschaft | Typ | Standard | Beschreibung |
---|---|---|---|
x | Nummer | 0 | Negative X-Achse erstreckt sich nach links. Die positive X-Achse erstreckt sich nach rechts. |
y | Nummer | 0 | Negative Y-Achse erstreckt sich nach unten. Die positive Y-Achse verläuft nach oben. |
z | Nummer | 0 | Negative Z-Achse erstreckt sich nach innen. Die positive Z-Achse reicht nach außen. |
Funktionen​
Get​
Returns a read-only reference.
Example
ecs.Position.get(world, component.eid)
Set​
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.Position.set(world, component.eid, {
x: 0,
y: 0,
z: 0
})
Mutate​
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.Position.mutate(world, component.eid, (cursor) => {
cursor.x = 2;
cursor.y = 2;
cursor.z = 2;
return false;
})
Remove​
Removes the component from the entity.
Example
ecs.Position.remove(world, component.eid)
Has​
Returns true
if the component is present on the entity.
Example
ecs.Position.has(world, component.eid)
Reset​
Adds, or resets the component to its default state.
Example
ecs.Position.reset(world, component.eid)
Advanced Functions​
Cursor​
Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.
Example
ecs.Position.cursor(world, component.eid)
Acquire​
Same behavior as cursor, but commit must be called after the cursor is done being used.
Example
ecs.Position.acquire(world, component.eid)
Commit​
Called after acquire. An optional third argument determines whether the cursor was mutated or not.
Example
ecs.Position.commit(world, component.eid)
ecs.Position.commit(world, component.eid, false)
Dirty​
Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.
Example
ecs.Position.dirty(world, component.eid)