@tsparticles/plugin-emitters 3.0.0-alpha.1 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -11
- package/browser/EmitterInstance.js +101 -113
- package/browser/Emitters.js +31 -27
- package/browser/Options/Classes/Emitter.js +6 -6
- package/browser/Options/Classes/EmitterLife.js +4 -3
- package/browser/index.js +23 -26
- package/browser/package.json +1 -0
- package/cjs/EmitterInstance.js +102 -114
- package/cjs/Emitters.js +41 -48
- package/cjs/Options/Classes/Emitter.js +8 -8
- package/cjs/Options/Classes/EmitterLife.js +4 -3
- package/cjs/Shapes/Circle/CircleShape.js +1 -1
- package/cjs/index.js +38 -52
- package/cjs/package.json +1 -0
- package/esm/EmitterInstance.js +101 -113
- package/esm/Emitters.js +31 -27
- package/esm/Options/Classes/Emitter.js +6 -6
- package/esm/Options/Classes/EmitterLife.js +4 -3
- package/esm/index.js +23 -26
- package/esm/package.json +1 -0
- package/package.json +19 -6
- package/report.html +4 -4
- package/tsparticles.plugin.emitters.js +137 -145
- package/tsparticles.plugin.emitters.min.js +1 -1
- package/tsparticles.plugin.emitters.min.js.LICENSE.txt +1 -8
- package/types/EmitterContainer.d.ts +3 -3
- package/types/EmitterInstance.d.ts +12 -12
- package/types/Emitters.d.ts +7 -7
- package/types/EmittersEngine.d.ts +2 -2
- package/types/Enums/EmitterShapeType.d.ts +3 -1
- package/types/Options/Classes/Emitter.d.ts +6 -7
- package/types/Options/Classes/EmitterLife.d.ts +4 -4
- package/types/Options/Classes/EmitterRate.d.ts +2 -2
- package/types/Options/Classes/EmitterSize.d.ts +3 -4
- package/types/Options/Interfaces/IEmitter.d.ts +4 -4
- package/types/Options/Interfaces/IEmitterLife.d.ts +3 -2
- package/types/Options/Interfaces/IEmitterSize.d.ts +2 -2
- package/types/ShapeManager.d.ts +1 -1
- package/types/Shapes/Circle/CircleShape.d.ts +2 -2
- package/types/Shapes/Square/SquareShape.d.ts +2 -2
- package/types/index.d.ts +6 -6
- package/types/types.d.ts +2 -2
- package/umd/EmitterInstance.js +103 -115
- package/umd/Emitters.js +33 -29
- package/umd/Options/Classes/Emitter.js +9 -9
- package/umd/Options/Classes/EmitterLife.js +5 -4
- package/umd/index.js +32 -35
package/umd/index.js
CHANGED
|
@@ -18,48 +18,47 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
if (v !== undefined) module.exports = v;
|
|
19
19
|
}
|
|
20
20
|
else if (typeof define === "function" && define.amd) {
|
|
21
|
-
define(["require", "exports", "@tsparticles/engine", "./Shapes/Circle/CircleShape", "./Options/Classes/Emitter", "./Emitters", "./ShapeManager", "./Shapes/Square/SquareShape", "./EmitterContainer", "./EmittersEngine", "./Enums/EmitterClickMode", "./Enums/EmitterShapeType"], factory);
|
|
21
|
+
define(["require", "exports", "@tsparticles/engine", "./Shapes/Circle/CircleShape.js", "./Options/Classes/Emitter.js", "./Emitters.js", "./ShapeManager.js", "./Shapes/Square/SquareShape.js", "./EmitterContainer.js", "./EmittersEngine.js", "./Enums/EmitterClickMode.js", "./Enums/EmitterShapeType.js"], factory);
|
|
22
22
|
}
|
|
23
23
|
})(function (require, exports) {
|
|
24
24
|
"use strict";
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.loadEmittersPlugin = void 0;
|
|
27
27
|
const engine_1 = require("@tsparticles/engine");
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
28
|
+
const CircleShape_js_1 = require("./Shapes/Circle/CircleShape.js");
|
|
29
|
+
const Emitter_js_1 = require("./Options/Classes/Emitter.js");
|
|
30
|
+
const Emitters_js_1 = require("./Emitters.js");
|
|
31
|
+
const ShapeManager_js_1 = require("./ShapeManager.js");
|
|
32
|
+
const SquareShape_js_1 = require("./Shapes/Square/SquareShape.js");
|
|
33
33
|
class EmittersPlugin {
|
|
34
34
|
constructor(engine) {
|
|
35
35
|
this._engine = engine;
|
|
36
36
|
this.id = "emitters";
|
|
37
37
|
}
|
|
38
38
|
getPlugin(container) {
|
|
39
|
-
return new
|
|
39
|
+
return new Emitters_js_1.Emitters(this._engine, container);
|
|
40
40
|
}
|
|
41
41
|
loadOptions(options, source) {
|
|
42
|
-
var _a, _b, _c, _d, _e, _f;
|
|
43
42
|
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
44
43
|
return;
|
|
45
44
|
}
|
|
46
|
-
if (source
|
|
45
|
+
if (source?.emitters) {
|
|
47
46
|
options.emitters = (0, engine_1.executeOnSingleOrMultiple)(source.emitters, (emitter) => {
|
|
48
|
-
const tmp = new
|
|
47
|
+
const tmp = new Emitter_js_1.Emitter();
|
|
49
48
|
tmp.load(emitter);
|
|
50
49
|
return tmp;
|
|
51
50
|
});
|
|
52
51
|
}
|
|
53
|
-
const interactivityEmitters =
|
|
52
|
+
const interactivityEmitters = source?.interactivity?.modes?.emitters;
|
|
54
53
|
if (interactivityEmitters) {
|
|
55
|
-
if (
|
|
54
|
+
if ((0, engine_1.isArray)(interactivityEmitters)) {
|
|
56
55
|
options.interactivity.modes.emitters = {
|
|
57
56
|
random: {
|
|
58
57
|
count: 1,
|
|
59
58
|
enable: true,
|
|
60
59
|
},
|
|
61
60
|
value: interactivityEmitters.map((s) => {
|
|
62
|
-
const tmp = new
|
|
61
|
+
const tmp = new Emitter_js_1.Emitter();
|
|
63
62
|
tmp.load(s);
|
|
64
63
|
return tmp;
|
|
65
64
|
}),
|
|
@@ -68,26 +67,26 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
68
67
|
else {
|
|
69
68
|
const emitterMode = interactivityEmitters;
|
|
70
69
|
if (emitterMode.value !== undefined) {
|
|
71
|
-
if (emitterMode.value
|
|
70
|
+
if ((0, engine_1.isArray)(emitterMode.value)) {
|
|
72
71
|
options.interactivity.modes.emitters = {
|
|
73
72
|
random: {
|
|
74
|
-
count:
|
|
75
|
-
enable:
|
|
73
|
+
count: emitterMode.random.count ?? 1,
|
|
74
|
+
enable: emitterMode.random.enable ?? false,
|
|
76
75
|
},
|
|
77
76
|
value: emitterMode.value.map((s) => {
|
|
78
|
-
const tmp = new
|
|
77
|
+
const tmp = new Emitter_js_1.Emitter();
|
|
79
78
|
tmp.load(s);
|
|
80
79
|
return tmp;
|
|
81
80
|
}),
|
|
82
81
|
};
|
|
83
82
|
}
|
|
84
83
|
else {
|
|
85
|
-
const tmp = new
|
|
84
|
+
const tmp = new Emitter_js_1.Emitter();
|
|
86
85
|
tmp.load(emitterMode.value);
|
|
87
86
|
options.interactivity.modes.emitters = {
|
|
88
87
|
random: {
|
|
89
|
-
count:
|
|
90
|
-
enable:
|
|
88
|
+
count: emitterMode.random.count ?? 1,
|
|
89
|
+
enable: emitterMode.random.enable ?? false,
|
|
91
90
|
},
|
|
92
91
|
value: tmp,
|
|
93
92
|
};
|
|
@@ -99,7 +98,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
99
98
|
count: 1,
|
|
100
99
|
enable: false,
|
|
101
100
|
},
|
|
102
|
-
value: new
|
|
101
|
+
value: new Emitter_js_1.Emitter(),
|
|
103
102
|
});
|
|
104
103
|
emitterOptions.value.load(interactivityEmitters);
|
|
105
104
|
}
|
|
@@ -107,35 +106,33 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
108
|
needsPlugin(options) {
|
|
110
|
-
var _a, _b, _c;
|
|
111
109
|
if (!options) {
|
|
112
110
|
return false;
|
|
113
111
|
}
|
|
114
112
|
const emitters = options.emitters;
|
|
115
|
-
return ((emitters
|
|
113
|
+
return (((0, engine_1.isArray)(emitters) && !!emitters.length) ||
|
|
116
114
|
emitters !== undefined ||
|
|
117
|
-
(!!
|
|
115
|
+
(!!options.interactivity?.events?.onClick?.mode &&
|
|
118
116
|
(0, engine_1.isInArray)("emitter", options.interactivity.events.onClick.mode)));
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
|
-
async function loadEmittersPlugin(engine) {
|
|
119
|
+
async function loadEmittersPlugin(engine, refresh = true) {
|
|
122
120
|
if (!engine.emitterShapeManager) {
|
|
123
|
-
engine.emitterShapeManager = new
|
|
121
|
+
engine.emitterShapeManager = new ShapeManager_js_1.ShapeManager(engine);
|
|
124
122
|
}
|
|
125
123
|
if (!engine.addEmitterShape) {
|
|
126
124
|
engine.addEmitterShape = (name, shape) => {
|
|
127
|
-
|
|
128
|
-
(_a = engine.emitterShapeManager) === null || _a === void 0 ? void 0 : _a.addShape(name, shape);
|
|
125
|
+
engine.emitterShapeManager?.addShape(name, shape);
|
|
129
126
|
};
|
|
130
127
|
}
|
|
131
128
|
const plugin = new EmittersPlugin(engine);
|
|
132
|
-
await engine.addPlugin(plugin);
|
|
133
|
-
engine.addEmitterShape("circle", new
|
|
134
|
-
engine.addEmitterShape("square", new
|
|
129
|
+
await engine.addPlugin(plugin, refresh);
|
|
130
|
+
engine.addEmitterShape("circle", new CircleShape_js_1.CircleShape());
|
|
131
|
+
engine.addEmitterShape("square", new SquareShape_js_1.SquareShape());
|
|
135
132
|
}
|
|
136
133
|
exports.loadEmittersPlugin = loadEmittersPlugin;
|
|
137
|
-
__exportStar(require("./EmitterContainer"), exports);
|
|
138
|
-
__exportStar(require("./EmittersEngine"), exports);
|
|
139
|
-
__exportStar(require("./Enums/EmitterClickMode"), exports);
|
|
140
|
-
__exportStar(require("./Enums/EmitterShapeType"), exports);
|
|
134
|
+
__exportStar(require("./EmitterContainer.js"), exports);
|
|
135
|
+
__exportStar(require("./EmittersEngine.js"), exports);
|
|
136
|
+
__exportStar(require("./Enums/EmitterClickMode.js"), exports);
|
|
137
|
+
__exportStar(require("./Enums/EmitterShapeType.js"), exports);
|
|
141
138
|
});
|