Consultando Components
Aprenda a obter listas de entities que têm components em comum, para facilitar a verificação ou atualização delas.
Atualizado
// Defina um System
function PhysicsSystem(dt: number) {
// query para entities que incluem tanto um component Transform quanto um Physics
for (const [entity] of engine.getEntitiesWith(Transform, Physics)) {
const transform = Transform.getMutable(entity)
cons vel = Physics.get(entity).velocity
position.x += vel.x
position.y += vel.y
position.z += vel.z
}
}
// Adicione o system ao engine
engine.addSystem(rotationSystem)
const [entity] of engine.getEntitiesWith(myComponent, myOtherComponent)for (const [entity] of engine.getEntitiesWith(Transform)) {
// obter versão somente leitura
const transformReadOnly = Transform.get(entity)
// obter versão mutável
const transformMutable = Transform.getMutable(entity)
}// retorna referências para a entity e o primeiro component listado
for (const [entity, component1] of engine.getEntitiesWith(
MyCustomComponent1,
MyCustomComponent2
)) {
// iterar sobre a lista de entities
}
// retorna referências para a entity e os dois primeiros components listados
for (const [entity, component1, component2] of engine.getEntitiesWith(
MyCustomComponent1,
MyCustomComponent2
)) {
// iterar sobre a lista de entities
}for (const [entity, transformReadOnly] of engine.getEntitiesWith(Transform)) {
console.log('entity id: ', entity)
console.log('has position : ', transformReadOnly.position)
}