Datos mutables
Aprende cómo manejar datos de solo lectura y datos mutables de componentes
// obtener una versión de solo lectura (inmutable)
const immutableTransform = Transform.get(myEntity)
// lo siguiente NO funciona:
// immutableTransform.position.y = 2
const mutableTransform = Transform.getMutable(myEntity)
// la siguiente línea SÍ cambia la posición de la entidad
mutableTransform.position.y = 2// altura máxima codificada
const MAX_HEIGHT = 10
// Definir el sistema
function HeightLimitSystem(dt: number) {
// iterar sobre todas las entidades que tienen un componente Transform
for (const [entity] of engine.getEntitiesWith(Transform)) {
// obtener valores de solo lectura
const currentHeight = Transform.get(entity).position.y
// comparar valores
if (currentHeight > MAX_HEIGHT) {
// obtener la versión mutable para hacer un cambio
const mutableTransform = Transform.getMutable(entity)
// cambiar transform
mutableTransform.position.y = MAX_HEIGHT
}
}
}
// Añadir sistema al engine
engine.addSystem(HeightLimitSystem)Última actualización