assassin-bug/framework/world/ecs-world.js

41 lines
1.1 KiB
JavaScript
Raw Normal View History

2022-11-26 01:22:02 +00:00
import { World } from '../ecs/index';
export class ECSWorld {
constructor(instance) {
this.instance = instance;
this.running = true;
this.id = 'ECSScene';
this.world = new World();
}
update() {
if (this.running)
this.world.run();
}
updateDraw() {
return true;
}
createEntity(components) {
return this.world.createEntity(components);
}
createComponent(props) {
return this.world.createComponent(props);
}
createSystem(systemExecutor) {
return this.world.createSystem(systemExecutor);
}
addSystem(system) {
return this.world.addSystem(system);
}
addEntity(entity) {
this.world.addEntity(entity);
}
removeEntity(entity) {
return this.world.removeEntity(entity);
}
createQuery(include, exclude) {
return this.world.createQuery(include, exclude);
}
extendEntity(entity, components) {
return this.world.extendEntity(entity, components);
}
}