UNPKG

blaze-2d

Version:

A fast and simple WebGL 2 2D game engine written in TypeScript

55 lines 1.38 kB
import Blaze from "../blaze"; /** * Handles flush orders of {@link Renderer}s */ export default class RenderController { constructor() { this.renderers = []; } /** * Flushes all {@link Renderer}s. */ flush() { let min = Blaze.getZLevels(); let max = 0; for (const r of this.renderers) { if (r.getQueueMax() > max) max = r.getQueueMax(); if (r.getQueueMin() < min) min = r.getQueueMin(); } for (let z = min; z <= max; z++) { for (const r of this.renderers) { r.flush(z); } } } /** * Adds a renderer to the controller. * * @param renderer The renderer to add */ addRenderer(renderer) { this.renderers.push(renderer); } /** * Adds the given renderers to the controller. * * @param renderers The renderers to add */ addRenderers(...renderers) { this.renderers.push(...renderers); } /** * Removes a renderer from the controller. * * @param renderer The renderer to remove */ removeRenderer(renderer) { const i = this.renderers.findIndex((r) => r === renderer); if (i === -1) return; this.renderers.splice(i, 1); } } //# sourceMappingURL=controller.js.map