import { BounceOutMode } from "./BounceOutMode"; import { DestroyOutMode } from "./DestroyOutMode"; import { NoneOutMode } from "./NoneOutMode"; import { OutOutMode } from "./OutOutMode"; export class OutOfCanvasUpdater { constructor(container) { this.container = container; this.updaters = [ new BounceOutMode(container), new DestroyOutMode(container), new OutOutMode(container), new NoneOutMode(container), ]; } init() { } isEnabled(particle) { return !particle.destroyed && !particle.spawning; } update(particle, delta) { var _a, _b, _c, _d; const outModes = particle.options.move.outModes; this.updateOutMode(particle, delta, (_a = outModes.bottom) !== null && _a !== void 0 ? _a : outModes.default, "bottom"); this.updateOutMode(particle, delta, (_b = outModes.left) !== null && _b !== void 0 ? _b : outModes.default, "left"); this.updateOutMode(particle, delta, (_c = outModes.right) !== null && _c !== void 0 ? _c : outModes.default, "right"); this.updateOutMode(particle, delta, (_d = outModes.top) !== null && _d !== void 0 ? _d : outModes.default, "top"); } updateOutMode(particle, delta, outMode, direction) { for (const updater of this.updaters) { updater.update(particle, direction, delta, outMode); } } }