@infinite-canvas-tutorial/webcomponents
Version:
WebComponents UI implementation
28 lines • 1.33 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.InitCanvasSystem = void 0;
const ecs_1 = require("@infinite-canvas-tutorial/ecs");
const components_1 = require("../components");
const event_1 = require("../event");
const API_1 = require("../API");
class InitCanvasSystem extends ecs_1.System {
constructor() {
super();
this.commands = new ecs_1.Commands(this);
this.query((q) => q.using(components_1.Container, ecs_1.Canvas, ecs_1.Camera, ecs_1.Name, ecs_1.Cursor, ecs_1.Transform, ecs_1.Parent, ecs_1.Children, ecs_1.Renderable, ecs_1.Visibility, ecs_1.FillSolid, ecs_1.Stroke, ecs_1.Circle, ecs_1.Ellipse, ecs_1.Rect, ecs_1.Polyline, ecs_1.Path, ecs_1.Text).write);
}
execute() {
if (API_1.pendingCanvases.length) {
API_1.pendingCanvases.forEach(({ container, canvas, camera }) => {
const api = new API_1.API(container, this.commands);
api.createCanvas(canvas);
api.createCamera(camera);
this.commands.execute();
container.dispatchEvent(new CustomEvent(event_1.Event.READY, { detail: api }));
});
API_1.pendingCanvases.length = 0;
}
}
}
exports.InitCanvasSystem = InitCanvasSystem;
//# sourceMappingURL=InitCanvas.js.map
;