2023-02-17 11:06:01 +01:00

34 lines
1.4 KiB
JavaScript

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);
}
}
}