custom-pixi-particles 2.0.7 → 2.0.8

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.
Files changed (118) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.js +16 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/Particle.d.ts +45 -0
  5. package/dist/lib/Particle.js +69 -0
  6. package/dist/lib/Particle.js.map +1 -0
  7. package/dist/lib/ParticlePool.d.ts +9 -0
  8. package/dist/lib/ParticlePool.js +34 -0
  9. package/dist/lib/ParticlePool.js.map +1 -0
  10. package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +26 -0
  11. package/dist/lib/behaviour/AngularVelocityBehaviour.js +78 -0
  12. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +1 -0
  13. package/dist/lib/behaviour/Behaviour.d.ts +7 -0
  14. package/dist/lib/behaviour/Behaviour.js +27 -0
  15. package/dist/lib/behaviour/Behaviour.js.map +1 -0
  16. package/dist/lib/behaviour/BehaviourNames.d.ts +11 -0
  17. package/dist/lib/behaviour/BehaviourNames.js +13 -0
  18. package/dist/lib/behaviour/BehaviourNames.js.map +1 -0
  19. package/dist/lib/behaviour/ColorBehaviour.d.ts +45 -0
  20. package/dist/lib/behaviour/ColorBehaviour.js +104 -0
  21. package/dist/lib/behaviour/ColorBehaviour.js.map +1 -0
  22. package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +22 -0
  23. package/dist/lib/behaviour/EmitDirectionBehaviour.js +84 -0
  24. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +1 -0
  25. package/dist/lib/behaviour/EmitterBehaviours.d.ts +12 -0
  26. package/dist/lib/behaviour/EmitterBehaviours.js +60 -0
  27. package/dist/lib/behaviour/EmitterBehaviours.js.map +1 -0
  28. package/dist/lib/behaviour/LifeBehaviour.d.ts +18 -0
  29. package/dist/lib/behaviour/LifeBehaviour.js +56 -0
  30. package/dist/lib/behaviour/LifeBehaviour.js.map +1 -0
  31. package/dist/lib/behaviour/PositionBehaviour.d.ts +62 -0
  32. package/dist/lib/behaviour/PositionBehaviour.js +147 -0
  33. package/dist/lib/behaviour/PositionBehaviour.js.map +1 -0
  34. package/dist/lib/behaviour/RotationBehaviour.d.ts +22 -0
  35. package/dist/lib/behaviour/RotationBehaviour.js +78 -0
  36. package/dist/lib/behaviour/RotationBehaviour.js.map +1 -0
  37. package/dist/lib/behaviour/SizeBehaviour.d.ts +31 -0
  38. package/dist/lib/behaviour/SizeBehaviour.js +85 -0
  39. package/dist/lib/behaviour/SizeBehaviour.js.map +1 -0
  40. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +69 -0
  41. package/dist/lib/behaviour/TurbulenceBehaviour.js +154 -0
  42. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -0
  43. package/dist/lib/behaviour/index.d.ts +12 -0
  44. package/dist/lib/behaviour/index.js +29 -0
  45. package/dist/lib/behaviour/index.js.map +1 -0
  46. package/dist/lib/customPixiParticlesSettingsInterface.d.ts +8 -0
  47. package/dist/lib/customPixiParticlesSettingsInterface.js +3 -0
  48. package/dist/lib/customPixiParticlesSettingsInterface.js.map +1 -0
  49. package/dist/lib/emission/AbstractEmission.d.ts +7 -0
  50. package/dist/lib/emission/AbstractEmission.js +22 -0
  51. package/dist/lib/emission/AbstractEmission.js.map +1 -0
  52. package/dist/lib/emission/EmissionTypes.d.ts +6 -0
  53. package/dist/lib/emission/EmissionTypes.js +8 -0
  54. package/dist/lib/emission/EmissionTypes.js.map +1 -0
  55. package/dist/lib/emission/RandomEmission.d.ts +11 -0
  56. package/dist/lib/emission/RandomEmission.js +62 -0
  57. package/dist/lib/emission/RandomEmission.js.map +1 -0
  58. package/dist/lib/emission/StandardEmission.d.ts +12 -0
  59. package/dist/lib/emission/StandardEmission.js +66 -0
  60. package/dist/lib/emission/StandardEmission.js.map +1 -0
  61. package/dist/lib/emission/UniformEmission.d.ts +14 -0
  62. package/dist/lib/emission/UniformEmission.js +74 -0
  63. package/dist/lib/emission/UniformEmission.js.map +1 -0
  64. package/dist/lib/emission/index.d.ts +6 -0
  65. package/dist/lib/emission/index.js +17 -0
  66. package/dist/lib/emission/index.js.map +1 -0
  67. package/dist/lib/emitter/Duration.d.ts +10 -0
  68. package/dist/lib/emitter/Duration.js +29 -0
  69. package/dist/lib/emitter/Duration.js.map +1 -0
  70. package/dist/lib/emitter/Emitter.d.ts +45 -0
  71. package/dist/lib/emitter/Emitter.js +215 -0
  72. package/dist/lib/emitter/Emitter.js.map +1 -0
  73. package/dist/lib/emitter/index.d.ts +3 -0
  74. package/dist/lib/emitter/index.js +11 -0
  75. package/dist/lib/emitter/index.js.map +1 -0
  76. package/dist/lib/index.d.ts +20 -0
  77. package/dist/lib/index.js +45 -0
  78. package/dist/lib/index.js.map +1 -0
  79. package/dist/lib/parser/BehaviourParser.d.ts +10 -0
  80. package/dist/lib/parser/BehaviourParser.js +49 -0
  81. package/dist/lib/parser/BehaviourParser.js.map +1 -0
  82. package/dist/lib/parser/CompatibilityHelper.d.ts +3 -0
  83. package/dist/lib/parser/CompatibilityHelper.js +15 -0
  84. package/dist/lib/parser/CompatibilityHelper.js.map +1 -0
  85. package/dist/lib/parser/EmitControllerParser.d.ts +6 -0
  86. package/dist/lib/parser/EmitControllerParser.js +23 -0
  87. package/dist/lib/parser/EmitControllerParser.js.map +1 -0
  88. package/dist/lib/parser/EmitterParser.d.ts +12 -0
  89. package/dist/lib/parser/EmitterParser.js +127 -0
  90. package/dist/lib/parser/EmitterParser.js.map +1 -0
  91. package/dist/lib/parser/index.d.ts +5 -0
  92. package/dist/lib/parser/index.js +15 -0
  93. package/dist/lib/parser/index.js.map +1 -0
  94. package/dist/lib/pixi/Renderer.d.ts +49 -0
  95. package/dist/lib/pixi/Renderer.js +438 -0
  96. package/dist/lib/pixi/Renderer.js.map +1 -0
  97. package/dist/lib/util/Color.d.ts +32 -0
  98. package/dist/lib/util/Color.js +99 -0
  99. package/dist/lib/util/Color.js.map +1 -0
  100. package/dist/lib/util/List.d.ts +9 -0
  101. package/dist/lib/util/List.js +51 -0
  102. package/dist/lib/util/List.js.map +1 -0
  103. package/dist/lib/util/Point.d.ts +13 -0
  104. package/dist/lib/util/Point.js +30 -0
  105. package/dist/lib/util/Point.js.map +1 -0
  106. package/dist/lib/util/Random.d.ts +4 -0
  107. package/dist/lib/util/Random.js +15 -0
  108. package/dist/lib/util/Random.js.map +1 -0
  109. package/dist/lib/util/index.d.ts +5 -0
  110. package/dist/lib/util/index.js +15 -0
  111. package/dist/lib/util/index.js.map +1 -0
  112. package/dist/lib/util/maths.d.ts +7 -0
  113. package/dist/lib/util/maths.js +17 -0
  114. package/dist/lib/util/maths.js.map +1 -0
  115. package/dist/lib/util/turbulencePool.d.ts +5 -0
  116. package/dist/lib/util/turbulencePool.js +10 -0
  117. package/dist/lib/util/turbulencePool.js.map +1 -0
  118. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ export default class Duration {
2
+ maxTime: number;
3
+ private _stop;
4
+ private _elapsedTime;
5
+ isTimeElapsed: () => boolean;
6
+ update: (deltaTime: number) => void;
7
+ reset: () => void;
8
+ stop: () => void;
9
+ start: () => void;
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var Duration = /** @class */ (function () {
4
+ function Duration() {
5
+ var _this = this;
6
+ this.maxTime = -1;
7
+ this._stop = false;
8
+ this._elapsedTime = 0;
9
+ this.isTimeElapsed = function () {
10
+ return _this._stop || (_this.maxTime > 0 && _this._elapsedTime >= _this.maxTime);
11
+ };
12
+ this.update = function (deltaTime) {
13
+ _this._elapsedTime += deltaTime;
14
+ };
15
+ this.reset = function () {
16
+ _this._stop = false;
17
+ _this._elapsedTime = 0;
18
+ };
19
+ this.stop = function () {
20
+ _this._stop = true;
21
+ };
22
+ this.start = function () {
23
+ _this._stop = false;
24
+ };
25
+ }
26
+ return Duration;
27
+ }());
28
+ exports.default = Duration;
29
+ //# sourceMappingURL=Duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/lib/emitter/Duration.ts"],"names":[],"mappings":";;AAAA;IAAA;QAAA,iBAyBC;QAxBC,YAAO,GAAW,CAAC,CAAC,CAAA;QACZ,UAAK,GAAY,KAAK,CAAA;QACtB,iBAAY,GAAW,CAAC,CAAA;QAEhC,kBAAa,GAAG;YACd,OAAO,KAAI,CAAC,KAAK,IAAI,CAAC,KAAI,CAAC,OAAO,GAAG,CAAC,IAAI,KAAI,CAAC,YAAY,IAAI,KAAI,CAAC,OAAO,CAAC,CAAA;QAC9E,CAAC,CAAA;QAED,WAAM,GAAG,UAAC,SAAiB;YACzB,KAAI,CAAC,YAAY,IAAI,SAAS,CAAA;QAChC,CAAC,CAAA;QAED,UAAK,GAAG;YACN,KAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,KAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACvB,CAAC,CAAA;QAED,SAAI,GAAG;YACL,KAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACnB,CAAC,CAAA;QAED,UAAK,GAAG;YACN,KAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC,CAAA;IACH,CAAC;IAAD,eAAC;AAAD,CAAC,AAzBD,IAyBC"}
@@ -0,0 +1,45 @@
1
+ import Duration from './Duration';
2
+ import { EmitterBehaviours } from '../behaviour';
3
+ import eventemitter3 = require('eventemitter3');
4
+ import { EmitterParser } from '../parser';
5
+ import List from '../util/List';
6
+ import Particle from '../Particle';
7
+ import { BLEND_MODES } from 'pixi.js';
8
+ export default class Emitter extends eventemitter3 {
9
+ static PLAY: string;
10
+ static STOP: string;
11
+ static RESET: string;
12
+ static CREATE: string;
13
+ static UPDATE: string;
14
+ static REMOVE: string;
15
+ static FINISHING: string;
16
+ static COMPLETE: string;
17
+ list: List;
18
+ duration: Duration;
19
+ animatedSprite: {
20
+ loop: boolean;
21
+ frameRate: number;
22
+ };
23
+ alpha: number;
24
+ blendMode: BLEND_MODES;
25
+ behaviours: EmitterBehaviours;
26
+ emitController: any;
27
+ private _play;
28
+ constructor();
29
+ update(deltaTime: number): Promise<void>;
30
+ emitParticles(deltaTime: number): void;
31
+ createParticles(deltaTime: number): void;
32
+ updateParticles(deltaTime: number): void;
33
+ updateParticle(particle: Particle, deltaTime: number): void;
34
+ removeParticle(particle: Particle): void;
35
+ getParser(): EmitterParser;
36
+ createBehaviourProps(name: string): any;
37
+ play(): void;
38
+ resetAndPlay(): void;
39
+ resetWithoutRemovingAndPlay(): void;
40
+ reset(): void;
41
+ resetWithoutRemoving(): void;
42
+ stop(): void;
43
+ stopWithoutKilling(): void;
44
+ removeParticles(): void;
45
+ }
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (_) try {
52
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
66
+ }
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
72
+ var __importDefault = (this && this.__importDefault) || function (mod) {
73
+ return (mod && mod.__esModule) ? mod : { "default": mod };
74
+ };
75
+ Object.defineProperty(exports, "__esModule", { value: true });
76
+ var Duration_1 = __importDefault(require("./Duration"));
77
+ var behaviour_1 = require("../behaviour");
78
+ var eventemitter3 = require("eventemitter3");
79
+ var ParticlePool_1 = __importDefault(require("../ParticlePool"));
80
+ var parser_1 = require("../parser");
81
+ var List_1 = __importDefault(require("../util/List"));
82
+ var emission = __importStar(require("../emission"));
83
+ var turbulencePool_1 = __importDefault(require("../util/turbulencePool"));
84
+ var pixi_js_1 = require("pixi.js");
85
+ var Emitter = /** @class */ (function (_super) {
86
+ __extends(Emitter, _super);
87
+ function Emitter() {
88
+ var _this = _super.call(this) || this;
89
+ _this.list = new List_1.default();
90
+ _this.duration = new Duration_1.default();
91
+ _this.alpha = 1;
92
+ _this.blendMode = pixi_js_1.BLEND_MODES.NONE;
93
+ _this.behaviours = new behaviour_1.EmitterBehaviours();
94
+ // @ts-ignore
95
+ _this.emitController = new emission[emission.EmissionTypes.DEFAULT]();
96
+ return _this;
97
+ }
98
+ Emitter.prototype.update = function (deltaTime) {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var _this = this;
101
+ return __generator(this, function (_a) {
102
+ if (!this._play)
103
+ return [2 /*return*/];
104
+ this.emitParticles(deltaTime);
105
+ this.updateParticles(deltaTime);
106
+ this.duration.update(deltaTime);
107
+ if (this.duration.isTimeElapsed() && this.list.isEmpty()) {
108
+ this.stop();
109
+ setTimeout(function () {
110
+ _this.emit(Emitter.COMPLETE);
111
+ });
112
+ }
113
+ return [2 /*return*/];
114
+ });
115
+ });
116
+ };
117
+ Emitter.prototype.emitParticles = function (deltaTime) {
118
+ if (!this.duration.isTimeElapsed()) {
119
+ this.createParticles(deltaTime);
120
+ }
121
+ };
122
+ Emitter.prototype.createParticles = function (deltaTime) {
123
+ var particlesToEmit = this.emitController.howMany(deltaTime, this.list.length);
124
+ for (var i = 0; i < particlesToEmit; ++i) {
125
+ var particle = this.list.add(ParticlePool_1.default.global.pop());
126
+ this.behaviours.init(particle);
127
+ this.emit(Emitter.CREATE, particle);
128
+ }
129
+ };
130
+ Emitter.prototype.updateParticles = function (deltaTime) {
131
+ var _this = this;
132
+ this.list.forEach(function (particle) {
133
+ _this.updateParticle(particle, deltaTime);
134
+ });
135
+ };
136
+ Emitter.prototype.updateParticle = function (particle, deltaTime) {
137
+ if (particle.isDead()) {
138
+ this.removeParticle(particle);
139
+ }
140
+ else if (particle.isAlmostDead()) {
141
+ this.behaviours.apply(particle, deltaTime);
142
+ this.emit(Emitter.FINISHING, particle);
143
+ this.emit(Emitter.UPDATE, particle);
144
+ }
145
+ else {
146
+ this.behaviours.apply(particle, deltaTime);
147
+ this.emit(Emitter.UPDATE, particle);
148
+ }
149
+ };
150
+ Emitter.prototype.removeParticle = function (particle) {
151
+ this.emit(Emitter.REMOVE, particle);
152
+ this.list.remove(particle);
153
+ particle.reset();
154
+ ParticlePool_1.default.global.push(particle);
155
+ turbulencePool_1.default.list.remove(particle);
156
+ };
157
+ Emitter.prototype.getParser = function () {
158
+ return new parser_1.EmitterParser(this);
159
+ };
160
+ Emitter.prototype.createBehaviourProps = function (name) {
161
+ return this.getParser().createBehaviourProps(name);
162
+ };
163
+ Emitter.prototype.play = function () {
164
+ this.duration.start();
165
+ this._play = true;
166
+ this.emit(Emitter.PLAY);
167
+ };
168
+ Emitter.prototype.resetAndPlay = function () {
169
+ this.reset();
170
+ this.play();
171
+ };
172
+ Emitter.prototype.resetWithoutRemovingAndPlay = function () {
173
+ this.resetWithoutRemoving();
174
+ this.play();
175
+ };
176
+ Emitter.prototype.reset = function () {
177
+ this.emitController.reset();
178
+ this.duration.reset();
179
+ this.removeParticles();
180
+ this.emit(Emitter.RESET);
181
+ };
182
+ Emitter.prototype.resetWithoutRemoving = function () {
183
+ this.emitController.reset();
184
+ this.duration.reset();
185
+ this.emit(Emitter.RESET);
186
+ };
187
+ Emitter.prototype.stop = function () {
188
+ this._play = false;
189
+ this.removeParticles();
190
+ this.emit(Emitter.STOP);
191
+ };
192
+ Emitter.prototype.stopWithoutKilling = function () {
193
+ this.duration.stop();
194
+ };
195
+ Emitter.prototype.removeParticles = function () {
196
+ var _this = this;
197
+ this.list.forEach(function (particle) {
198
+ _this.removeParticle(particle);
199
+ });
200
+ turbulencePool_1.default.list.forEach(function (particle) {
201
+ _this.removeParticle(particle);
202
+ });
203
+ };
204
+ Emitter.PLAY = 'emitter/play';
205
+ Emitter.STOP = 'emitter/stop';
206
+ Emitter.RESET = 'emitter/reset';
207
+ Emitter.CREATE = 'emitter/create';
208
+ Emitter.UPDATE = 'emitter/update';
209
+ Emitter.REMOVE = 'emitter/remove';
210
+ Emitter.FINISHING = 'emitter/finishing';
211
+ Emitter.COMPLETE = 'emitter/complete';
212
+ return Emitter;
213
+ }(eventemitter3));
214
+ exports.default = Emitter;
215
+ //# sourceMappingURL=Emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../src/lib/emitter/Emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import Emitter from './Emitter';
2
+ import Duration from './Duration';
3
+ export { Emitter, Duration };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Duration = exports.Emitter = void 0;
7
+ var Emitter_1 = __importDefault(require("./Emitter"));
8
+ exports.Emitter = Emitter_1.default;
9
+ var Duration_1 = __importDefault(require("./Duration"));
10
+ exports.Duration = Duration_1.default;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/emitter/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+B;AAGtB,kBAHF,iBAAO,CAGE;AAFhB,wDAAiC;AAEf,mBAFX,kBAAQ,CAEW"}
@@ -0,0 +1,20 @@
1
+ import * as controller from './emission';
2
+ import * as behaviour from './behaviour';
3
+ import * as parser from './parser';
4
+ import Particle from './Particle';
5
+ import ParticlePool from './ParticlePool';
6
+ import { Duration, Emitter } from './emitter';
7
+ import { Color, Point, Random } from './util';
8
+ declare const cpp: {
9
+ Particle: typeof Particle;
10
+ ParticlePool: typeof ParticlePool;
11
+ parser: typeof parser;
12
+ controller: typeof controller;
13
+ behaviour: typeof behaviour;
14
+ Color: typeof Color;
15
+ Point: typeof Point;
16
+ Random: typeof Random;
17
+ Duration: typeof Duration;
18
+ Emitter: typeof Emitter;
19
+ };
20
+ export default cpp;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ var controller = __importStar(require("./emission"));
26
+ var behaviour = __importStar(require("./behaviour"));
27
+ var parser = __importStar(require("./parser"));
28
+ var Particle_1 = __importDefault(require("./Particle"));
29
+ var ParticlePool_1 = __importDefault(require("./ParticlePool"));
30
+ var emitter_1 = require("./emitter");
31
+ var util_1 = require("./util");
32
+ var cpp = {
33
+ Particle: Particle_1.default,
34
+ ParticlePool: ParticlePool_1.default,
35
+ parser: parser,
36
+ controller: controller,
37
+ behaviour: behaviour,
38
+ Color: util_1.Color,
39
+ Point: util_1.Point,
40
+ Random: util_1.Random,
41
+ Duration: emitter_1.Duration,
42
+ Emitter: emitter_1.Emitter,
43
+ };
44
+ exports.default = cpp;
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAwC;AACxC,qDAAwC;AACxC,+CAAkC;AAClC,wDAAiC;AACjC,gEAAyC;AACzC,qCAA6C;AAC7C,+BAA6C;AAE7C,IAAM,GAAG,GAAG;IACV,QAAQ,oBAAA;IACR,YAAY,wBAAA;IACZ,MAAM,QAAA;IACN,UAAU,YAAA;IACV,SAAS,WAAA;IACT,KAAK,cAAA;IACL,KAAK,cAAA;IACL,MAAM,eAAA;IACN,QAAQ,oBAAA;IACR,OAAO,mBAAA;CACR,CAAA;AAED,kBAAe,GAAG,CAAA"}
@@ -0,0 +1,10 @@
1
+ export default class BehaviourParser {
2
+ private readonly _behaviour;
3
+ constructor(behaviour: any);
4
+ write: () => any;
5
+ read: (config: any) => void;
6
+ private writePoint;
7
+ private readPoint;
8
+ private writeColor;
9
+ private readColor;
10
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var util_1 = require("../util");
4
+ var BehaviourParser = /** @class */ (function () {
5
+ function BehaviourParser(behaviour) {
6
+ var _this = this;
7
+ this.write = function () {
8
+ var config = JSON.parse(JSON.stringify(_this._behaviour));
9
+ config.name = _this._behaviour.getName();
10
+ return config;
11
+ };
12
+ this.read = function (config) {
13
+ for (var key in config) {
14
+ if (_this._behaviour[key] instanceof Object) {
15
+ _this._behaviour[key].copyFromRawData(config[key]);
16
+ }
17
+ else {
18
+ _this._behaviour[key] = config[key];
19
+ }
20
+ }
21
+ };
22
+ this.writePoint = function (point) {
23
+ return { x: point.x, y: point.y };
24
+ };
25
+ this.readPoint = function (rawData) {
26
+ var point = new util_1.Point();
27
+ if (rawData) {
28
+ point.x = rawData.x || 0;
29
+ point.y = rawData.y || 0;
30
+ }
31
+ return point;
32
+ };
33
+ this.writeColor = function (color) {
34
+ return { hex: color.hex, alpha: color.alpha };
35
+ };
36
+ this.readColor = function (rawData) {
37
+ var color = new util_1.Color();
38
+ if (rawData) {
39
+ color.hex = rawData.hex || 0;
40
+ color.alpha = rawData.alpha || 0;
41
+ }
42
+ return color;
43
+ };
44
+ this._behaviour = behaviour;
45
+ }
46
+ return BehaviourParser;
47
+ }());
48
+ exports.default = BehaviourParser;
49
+ //# sourceMappingURL=BehaviourParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BehaviourParser.js","sourceRoot":"","sources":["../../../src/lib/parser/BehaviourParser.ts"],"names":[],"mappings":";;AAAA,gCAAsC;AAEtC;IAGE,yBAAY,SAAc;QAA1B,iBAEC;QAED,UAAK,GAAG;YACN,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAC1D,MAAM,CAAC,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;YACvC,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,SAAI,GAAG,UAAC,MAAW;YACjB,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;gBACxB,IAAI,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE;oBAC1C,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;iBAClD;qBAAM;oBACL,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;iBACnC;aACF;QACH,CAAC,CAAA;QAEO,eAAU,GAAG,UAAC,KAAY;YAChC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAA;QACnC,CAAC,CAAA;QAEO,cAAS,GAAG,UAAC,OAAc;YACjC,IAAM,KAAK,GAAG,IAAI,YAAK,EAAE,CAAA;YACzB,IAAI,OAAO,EAAE;gBACX,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;gBACxB,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;aACzB;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAEO,eAAU,GAAG,UAAC,KAAY;YAChC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QAC/C,CAAC,CAAA;QAEO,cAAS,GAAG,UAAC,OAAc;YACjC,IAAM,KAAK,GAAG,IAAI,YAAK,EAAE,CAAA;YACzB,IAAI,OAAO,EAAE;gBACX,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC5B,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;aACjC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QA3CC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IA2CH,sBAAC;AAAD,CAAC,AAhDD,IAgDC"}
@@ -0,0 +1,3 @@
1
+ export default class CompatibilityHelper {
2
+ static readDuration: (config: any) => any;
3
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var CompatibilityHelper = /** @class */ (function () {
4
+ function CompatibilityHelper() {
5
+ }
6
+ CompatibilityHelper.readDuration = function (config) {
7
+ if (config.duration) {
8
+ return config.duration;
9
+ }
10
+ return -1;
11
+ };
12
+ return CompatibilityHelper;
13
+ }());
14
+ exports.default = CompatibilityHelper;
15
+ //# sourceMappingURL=CompatibilityHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompatibilityHelper.js","sourceRoot":"","sources":["../../../src/lib/parser/CompatibilityHelper.ts"],"names":[],"mappings":";;AAAA;IAAA;IAQA,CAAC;IAPQ,gCAAY,GAAG,UAAC,MAAW;QAChC,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,OAAO,MAAM,CAAC,QAAQ,CAAA;SACvB;QAED,OAAO,CAAC,CAAC,CAAA;IACX,CAAC,CAAA;IACH,0BAAC;CAAA,AARD,IAQC;kBARoB,mBAAmB"}
@@ -0,0 +1,6 @@
1
+ export default class EmitControllerParser {
2
+ private readonly _controller;
3
+ constructor(controller: any);
4
+ write: () => any;
5
+ read: (config: any) => void;
6
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var EmitControllerParser = /** @class */ (function () {
4
+ function EmitControllerParser(controller) {
5
+ var _this = this;
6
+ this.write = function () {
7
+ var config = JSON.parse(JSON.stringify(_this._controller));
8
+ config.name = _this._controller.getName();
9
+ return config;
10
+ };
11
+ this.read = function (config) {
12
+ for (var key in config) {
13
+ if (!(_this._controller[key] instanceof Object)) {
14
+ _this._controller[key] = config[key];
15
+ }
16
+ }
17
+ };
18
+ this._controller = controller;
19
+ }
20
+ return EmitControllerParser;
21
+ }());
22
+ exports.default = EmitControllerParser;
23
+ //# sourceMappingURL=EmitControllerParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmitControllerParser.js","sourceRoot":"","sources":["../../../src/lib/parser/EmitControllerParser.ts"],"names":[],"mappings":";;AAAA;IAGE,8BAAY,UAAe;QAA3B,iBAEC;QAED,UAAK,GAAG;YACN,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YAC3D,MAAM,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;YACxC,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,SAAI,GAAG,UAAC,MAAW;YACjB,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;gBACxB,IAAI,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,EAAE;oBAC9C,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;iBACpC;aACF;QACH,CAAC,CAAA;QAfC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,CAAC;IAeH,2BAAC;AAAD,CAAC,AApBD,IAoBC"}
@@ -0,0 +1,12 @@
1
+ import { Emitter } from '../emitter';
2
+ export default class EmitterParser {
3
+ private readonly emitter;
4
+ constructor(emitter: any);
5
+ write: () => any;
6
+ read: (config: any) => Emitter;
7
+ update: (config: any) => Emitter;
8
+ getExistingOrCreate: (name: string, existingBehaviours: any) => any;
9
+ createBehaviour: (name: string) => any;
10
+ createBehaviourProps: (name: string) => any;
11
+ createEmitController: (name: string) => any;
12
+ }