@tsparticles/editor
Version:
tsParticles Configuration Editor
143 lines (142 loc) • 6.83 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "object-gui", "./Bounce/BounceOptionsEditor", "./Collisions/CollisionsOptionsEditor", "./Color/ColorOptionsEditor", "./Destroy/DestroyOptionsEditor", "../../../EditorBase", "./Life/LifeOptionsEditor", "./Links/LinksOptionsEditor", "./Move/MoveOptionsEditor", "./Number/NumberOptionsEditor", "./Opacity/OpacityOptionsEditor", "./Roll/RollOptionsEditor", "./Rotate/RotateOptionsEditor", "./Shadow/ShadowOptionsEditor", "./Shape/ShapeOptionsEditor", "./Size/SizeOptionsEditor", "./Stroke/StrokeOptionsEditor", "./Tilt/TiltOptionsEditor", "./Twinkle/TwinkleOptionsEditor", "./Wobble/WobbleOptionsEditor"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParticlesOptionsEditor = void 0;
const object_gui_1 = require("object-gui");
const BounceOptionsEditor_1 = require("./Bounce/BounceOptionsEditor");
const CollisionsOptionsEditor_1 = require("./Collisions/CollisionsOptionsEditor");
const ColorOptionsEditor_1 = require("./Color/ColorOptionsEditor");
const DestroyOptionsEditor_1 = require("./Destroy/DestroyOptionsEditor");
const EditorBase_1 = require("../../../EditorBase");
const LifeOptionsEditor_1 = require("./Life/LifeOptionsEditor");
const LinksOptionsEditor_1 = require("./Links/LinksOptionsEditor");
const MoveOptionsEditor_1 = require("./Move/MoveOptionsEditor");
const NumberOptionsEditor_1 = require("./Number/NumberOptionsEditor");
const OpacityOptionsEditor_1 = require("./Opacity/OpacityOptionsEditor");
const RollOptionsEditor_1 = require("./Roll/RollOptionsEditor");
const RotateOptionsEditor_1 = require("./Rotate/RotateOptionsEditor");
const ShadowOptionsEditor_1 = require("./Shadow/ShadowOptionsEditor");
const ShapeOptionsEditor_1 = require("./Shape/ShapeOptionsEditor");
const SizeOptionsEditor_1 = require("./Size/SizeOptionsEditor");
const StrokeOptionsEditor_1 = require("./Stroke/StrokeOptionsEditor");
const TiltOptionsEditor_1 = require("./Tilt/TiltOptionsEditor");
const TwinkleOptionsEditor_1 = require("./Twinkle/TwinkleOptionsEditor");
const WobbleOptionsEditor_1 = require("./Wobble/WobbleOptionsEditor");
class ParticlesOptionsEditor extends EditorBase_1.EditorBase {
constructor(particles) {
super(particles);
}
addParticlesToGroup(parent, customName, parentData) {
this.group = parent.addGroup(customName ?? "particles", "Particles", true, parentData);
this.options = this.group.data;
this.addBounce();
this.addCollisions();
this.addColor();
this.addDestroy();
this.addLife();
this.addLinks();
this.addMove();
this.addNumber();
this.addOpacity();
this.addRoll();
this.addRotate();
this.addShadow();
this.addShape();
this.addSize();
this.addStroke();
this.addTilt();
this.addTwinkle();
this.addWobble();
this.addProperties();
}
addToGroup(parent, options) {
this.addParticlesToGroup(parent, undefined, options);
}
addBounce() {
const options = new BounceOptionsEditor_1.BounceOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addCollisions() {
const options = new CollisionsOptionsEditor_1.CollisionsOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addColor() {
const options = new ColorOptionsEditor_1.ColorOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addDestroy() {
const options = new DestroyOptionsEditor_1.DestroyOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addLife() {
const options = new LifeOptionsEditor_1.LifeOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addLinks() {
const options = new LinksOptionsEditor_1.LinksOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addMove() {
const options = new MoveOptionsEditor_1.MoveOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addNumber() {
const options = new NumberOptionsEditor_1.NumberOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addOpacity() {
const options = new OpacityOptionsEditor_1.OpacityOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addProperties() {
this.group.addProperty("reduceDuplicates", "Reduce Duplicates", object_gui_1.EditorType.boolean).change(() => {
void this.particles().refresh();
});
}
addRoll() {
const options = new RollOptionsEditor_1.RollOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addRotate() {
const options = new RotateOptionsEditor_1.RotateOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addShadow() {
const options = new ShadowOptionsEditor_1.ShadowOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addShape() {
const options = new ShapeOptionsEditor_1.ShapeOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addSize() {
const options = new SizeOptionsEditor_1.SizeOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addStroke() {
const options = new StrokeOptionsEditor_1.StrokeOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addTilt() {
const options = new TiltOptionsEditor_1.TiltOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addTwinkle() {
const options = new TwinkleOptionsEditor_1.TwinkleOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addWobble() {
const options = new WobbleOptionsEditor_1.WobbleOptionsEditor(this.particles);
options.addToGroup(this.group);
}
}
exports.ParticlesOptionsEditor = ParticlesOptionsEditor;
});