@canvasengine/presets 2.0.0-beta.56 → 2.0.0-beta.59

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../src/Particle.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,OAAO,KAAA,gKA6C/B"}
1
+ {"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../src/Particle.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,OAAO,KAAA,gKAM/B"}
@@ -40,7 +40,7 @@ export declare class TilesGroup {
40
40
  maxX: number;
41
41
  maxY: number;
42
42
  };
43
- get tilesBase(): TileInfo[];
43
+ get tilesBase(): (TileInfo | null)[];
44
44
  get tilesBaseWidth(): number;
45
45
  get tilesBaseHeight(): number;
46
46
  forEach(cb: (tileInfo: TileInfo | null, x: number, y: number) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TileGroup.d.ts","sourceRoot":"","sources":["../../src/Tilemap/TileGroup.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,UAAU,iBAAiB;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,QAAQ;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAY;IACnC,EAAE,EAAE,MAAM,CAAgB;gBAEd,GAAG,EAAE,WAAW;IAK5B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAGlC;AAED,qBAAa,UAAU;IAYsB,YAAY,EAAE,MAAM;IAX7D,KAAK,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAK;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,MAAM,CAAI;IACvB,UAAU,EAAE,MAAM,CAAI;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAI;IACvB,WAAW,EAAE,MAAM,CAAI;IACvB,UAAU,EAAE,MAAM,CAAI;gBAEV,KAAK,EAAE,WAAW,EAAE,EAAS,YAAY,GAAE,MAAU,EAAE,OAAO,GAAE,iBAAsB;IAoBlG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAUzF,IAAI,SAAS,eAEZ;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI;IAQrE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI;IASvF,UAAU,IAAI,MAAM;IAWpB,SAAS;IAST,cAAc,IAAI,IAAI;IAmDtB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKtD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIzD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAI9C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAevF,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;CAG1C"}
1
+ {"version":3,"file":"TileGroup.d.ts","sourceRoot":"","sources":["../../src/Tilemap/TileGroup.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,UAAU,iBAAiB;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,QAAQ;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAY;IACnC,EAAE,EAAE,MAAM,CAAgB;gBAEd,GAAG,EAAE,WAAW;IAK5B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAGlC;AAED,qBAAa,UAAU;IAYsB,YAAY,EAAE,MAAM;IAX7D,KAAK,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAK;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,MAAM,CAAI;IACvB,UAAU,EAAE,MAAM,CAAI;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAI;IACvB,WAAW,EAAE,MAAM,CAAI;IACvB,UAAU,EAAE,MAAM,CAAI;gBAEV,KAAK,EAAE,WAAW,EAAE,EAAS,YAAY,GAAE,MAAU,EAAE,OAAO,GAAE,iBAAsB;IAoBlG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAUzF,IAAI,SAAS,wBAEZ;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI;IAQrE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI;IASvF,UAAU,IAAI,MAAM;IAWpB,SAAS;IAST,cAAc,IAAI,IAAI;IAmDtB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKtD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIzD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAI9C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAevF,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;CAG1C"}
@@ -0,0 +1,2 @@
1
+ export declare function Fx(options: any): import('../../packages/core/src/index.ts').Element<import('../../packages/core/src/index.ts').ComponentInstance> | Promise<import('../../packages/core/src/index.ts').Element<import('../../packages/core/src/index.ts').ComponentInstance>>;
2
+ //# sourceMappingURL=Fx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fx.d.ts","sourceRoot":"","sources":["../../src/fx/Fx.ts"],"names":[],"mappings":"AAmBA,wBAAgB,EAAE,CAAC,OAAO,KAAA,gKA0FzB"}
@@ -0,0 +1,5 @@
1
+ export * from './Fx';
2
+ export * from './presets';
3
+ export * from './runtime';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fx/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,365 @@
1
+ export declare const FX_PRESETS: {
2
+ hitSpark: {
3
+ duration: number;
4
+ emitters: {
5
+ burst: number;
6
+ angle: [number, number];
7
+ speed: [number, number];
8
+ particle: {
9
+ shape: "spark";
10
+ lifetime: [number, number];
11
+ color: [string, string];
12
+ alpha: [number, number];
13
+ scale: [number, number];
14
+ rotationSpeed: [number, number];
15
+ blendMode: string;
16
+ ease: "outCubic";
17
+ };
18
+ }[];
19
+ };
20
+ slashSpark: {
21
+ duration: number;
22
+ emitters: ({
23
+ burst: number;
24
+ angle: [number, number];
25
+ speed: [number, number];
26
+ spreadX: number;
27
+ spreadY: number;
28
+ particle: {
29
+ shape: "spark";
30
+ lifetime: [number, number];
31
+ color: [string, string];
32
+ alpha: [number, number];
33
+ scale: [number, number];
34
+ rotation: [number, number];
35
+ rotationSpeed: [number, number];
36
+ blendMode: string;
37
+ ease: "outCubic";
38
+ };
39
+ } | {
40
+ burst: number;
41
+ angle: [number, number];
42
+ speed: [number, number];
43
+ particle: {
44
+ shape: "star";
45
+ lifetime: [number, number];
46
+ color: [string, string];
47
+ alpha: [number, number];
48
+ scale: [number, number];
49
+ blendMode: string;
50
+ ease: "outQuad";
51
+ rotation?: undefined;
52
+ rotationSpeed?: undefined;
53
+ };
54
+ spreadX?: undefined;
55
+ spreadY?: undefined;
56
+ })[];
57
+ };
58
+ impactBurst: {
59
+ duration: number;
60
+ emitters: ({
61
+ burst: number;
62
+ angle: [number, number];
63
+ speed: [number, number];
64
+ particle: {
65
+ shape: "spark";
66
+ lifetime: [number, number];
67
+ color: [string, string];
68
+ alpha: [number, number];
69
+ scale: [number, number];
70
+ rotationSpeed: [number, number];
71
+ blendMode: string;
72
+ ease: "outCubic";
73
+ };
74
+ } | {
75
+ burst: number;
76
+ angle: [number, number];
77
+ speed: [number, number];
78
+ particle: {
79
+ shape: "softCircle";
80
+ lifetime: [number, number];
81
+ color: [string, string];
82
+ alpha: [number, number];
83
+ scale: [number, number];
84
+ ease: "outQuad";
85
+ rotationSpeed?: undefined;
86
+ blendMode?: undefined;
87
+ };
88
+ })[];
89
+ };
90
+ smokePuff: {
91
+ duration: number;
92
+ emitters: {
93
+ burst: number;
94
+ angle: [number, number];
95
+ speed: [number, number];
96
+ spreadX: number;
97
+ spreadY: number;
98
+ gravity: number;
99
+ particle: {
100
+ shape: "softCircle";
101
+ lifetime: [number, number];
102
+ color: [string, string];
103
+ alpha: [number, number];
104
+ scale: [number, number];
105
+ rotationSpeed: [number, number];
106
+ ease: "outQuad";
107
+ };
108
+ }[];
109
+ };
110
+ dustStep: {
111
+ duration: number;
112
+ emitters: {
113
+ burst: number;
114
+ angle: [number, number];
115
+ speed: [number, number];
116
+ spreadX: number;
117
+ spreadY: number;
118
+ particle: {
119
+ shape: "softCircle";
120
+ lifetime: [number, number];
121
+ color: string;
122
+ alpha: [number, number];
123
+ scale: [number, number];
124
+ ease: "outQuad";
125
+ };
126
+ }[];
127
+ };
128
+ dashDust: {
129
+ duration: number;
130
+ emitters: ({
131
+ burst: number;
132
+ angle: [number, number];
133
+ speed: [number, number];
134
+ spreadX: number;
135
+ spreadY: number;
136
+ particle: {
137
+ shape: "softCircle";
138
+ lifetime: [number, number];
139
+ color: [string, string];
140
+ alpha: [number, number];
141
+ scale: [number, number];
142
+ ease: "outCubic";
143
+ };
144
+ } | {
145
+ burst: number;
146
+ angle: [number, number];
147
+ speed: [number, number];
148
+ spreadX: number;
149
+ particle: {
150
+ shape: "spark";
151
+ lifetime: [number, number];
152
+ color: string;
153
+ alpha: [number, number];
154
+ scale: [number, number];
155
+ ease: "outCubic";
156
+ };
157
+ spreadY?: undefined;
158
+ })[];
159
+ };
160
+ magicBurst: {
161
+ duration: number;
162
+ emitters: {
163
+ burst: number;
164
+ angle: [number, number];
165
+ speed: [number, number];
166
+ particle: {
167
+ shape: "star";
168
+ lifetime: [number, number];
169
+ color: [string, string];
170
+ alpha: [number, number];
171
+ scale: [number, number];
172
+ rotationSpeed: [number, number];
173
+ blendMode: string;
174
+ ease: "outCubic";
175
+ };
176
+ }[];
177
+ };
178
+ healPulse: {
179
+ duration: number;
180
+ emitters: ({
181
+ burst: number;
182
+ angle: [number, number];
183
+ speed: [number, number];
184
+ spreadX: number;
185
+ spreadY: number;
186
+ gravity: number;
187
+ particle: {
188
+ shape: "star";
189
+ lifetime: [number, number];
190
+ color: [string, string];
191
+ alpha: [number, number];
192
+ scale: [number, number];
193
+ rotationSpeed: [number, number];
194
+ blendMode: string;
195
+ ease: "outQuad";
196
+ };
197
+ } | {
198
+ burst: number;
199
+ angle: [number, number];
200
+ speed: [number, number];
201
+ spreadX: number;
202
+ particle: {
203
+ shape: "softCircle";
204
+ lifetime: [number, number];
205
+ color: [string, string];
206
+ alpha: [number, number];
207
+ scale: [number, number];
208
+ blendMode: string;
209
+ ease: "outQuad";
210
+ rotationSpeed?: undefined;
211
+ };
212
+ spreadY?: undefined;
213
+ gravity?: undefined;
214
+ })[];
215
+ };
216
+ campfire: {
217
+ duration: number;
218
+ emitters: ({
219
+ loop: true;
220
+ rate: number;
221
+ angle: [number, number];
222
+ speed: [number, number];
223
+ spreadX: number;
224
+ spreadY: number;
225
+ particle: {
226
+ shape: "softCircle";
227
+ lifetime: [number, number];
228
+ color: [string, string];
229
+ alpha: [number, number];
230
+ scale: [number, number];
231
+ blendMode: string;
232
+ ease: "outQuad";
233
+ };
234
+ } | {
235
+ loop: true;
236
+ rate: number;
237
+ angle: [number, number];
238
+ speed: [number, number];
239
+ particle: {
240
+ shape: "softCircle";
241
+ lifetime: [number, number];
242
+ color: string;
243
+ alpha: [number, number];
244
+ scale: [number, number];
245
+ ease: "outQuad";
246
+ blendMode?: undefined;
247
+ };
248
+ spreadX?: undefined;
249
+ spreadY?: undefined;
250
+ })[];
251
+ };
252
+ torchFire: {
253
+ duration: number;
254
+ emitters: ({
255
+ loop: true;
256
+ rate: number;
257
+ angle: [number, number];
258
+ speed: [number, number];
259
+ spreadX: number;
260
+ spreadY: number;
261
+ particle: {
262
+ shape: "softCircle";
263
+ lifetime: [number, number];
264
+ color: [string, string];
265
+ alpha: [number, number];
266
+ scale: [number, number];
267
+ blendMode: string;
268
+ ease: "outQuad";
269
+ };
270
+ } | {
271
+ loop: true;
272
+ rate: number;
273
+ angle: [number, number];
274
+ speed: [number, number];
275
+ particle: {
276
+ shape: "softCircle";
277
+ lifetime: [number, number];
278
+ color: string;
279
+ alpha: [number, number];
280
+ scale: [number, number];
281
+ ease: "outQuad";
282
+ blendMode?: undefined;
283
+ };
284
+ spreadX?: undefined;
285
+ spreadY?: undefined;
286
+ })[];
287
+ };
288
+ pickup: {
289
+ duration: number;
290
+ emitters: {
291
+ burst: number;
292
+ angle: [number, number];
293
+ speed: [number, number];
294
+ particle: {
295
+ shape: "star";
296
+ lifetime: [number, number];
297
+ color: [string, string];
298
+ alpha: [number, number];
299
+ scale: [number, number];
300
+ blendMode: string;
301
+ ease: "outCubic";
302
+ };
303
+ }[];
304
+ };
305
+ levelUp: {
306
+ duration: number;
307
+ emitters: ({
308
+ burst: number;
309
+ angle: [number, number];
310
+ speed: [number, number];
311
+ spreadX: number;
312
+ spreadY: number;
313
+ gravity: number;
314
+ particle: {
315
+ shape: "star";
316
+ lifetime: [number, number];
317
+ color: [string, string];
318
+ alpha: [number, number];
319
+ scale: [number, number];
320
+ rotationSpeed: [number, number];
321
+ blendMode: string;
322
+ ease: "outCubic";
323
+ };
324
+ duration?: undefined;
325
+ rate?: undefined;
326
+ } | {
327
+ duration: number;
328
+ rate: number;
329
+ angle: [number, number];
330
+ speed: [number, number];
331
+ spreadX: number;
332
+ particle: {
333
+ shape: "spark";
334
+ lifetime: [number, number];
335
+ color: [string, string];
336
+ alpha: [number, number];
337
+ scale: [number, number];
338
+ blendMode: string;
339
+ ease: "outCubic";
340
+ rotationSpeed?: undefined;
341
+ };
342
+ burst?: undefined;
343
+ spreadY?: undefined;
344
+ gravity?: undefined;
345
+ })[];
346
+ };
347
+ explosionSmall: {
348
+ duration: number;
349
+ emitters: {
350
+ burst: number;
351
+ angle: [number, number];
352
+ speed: [number, number];
353
+ particle: {
354
+ shape: "softCircle";
355
+ lifetime: [number, number];
356
+ color: [string, string];
357
+ alpha: [number, number];
358
+ scale: [number, number];
359
+ blendMode: string;
360
+ ease: "outCubic";
361
+ };
362
+ }[];
363
+ };
364
+ };
365
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/fx/presets.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsXa,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Container } from 'pixi.js';
2
+ import { FxInstance, FxPreset, FxRuntimeOptions } from './types';
3
+ export declare class FxRuntime {
4
+ private instances;
5
+ private pool;
6
+ private random;
7
+ private maxParticles;
8
+ private activeCount;
9
+ constructor(options?: {
10
+ seed?: number;
11
+ maxParticles?: number;
12
+ });
13
+ preload(preset: FxPreset): Promise<void>;
14
+ spawn(container: Container, preset: FxPreset, options?: FxRuntimeOptions & {
15
+ loop?: boolean;
16
+ }): FxInstance;
17
+ update(deltaMs: number): void;
18
+ clear(): void;
19
+ get activeInstances(): number;
20
+ private updateInstance;
21
+ private updateEmitter;
22
+ private isEmitterActive;
23
+ private spawnParticle;
24
+ private updateParticle;
25
+ private recycleParticle;
26
+ private recycleInstance;
27
+ }
28
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/fx/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAEV,UAAU,EAGV,QAAQ,EACR,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAwBjB,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAK;gBAEZ,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAK5D,OAAO,CAAC,MAAM,EAAE,QAAQ;IAI9B,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,UAAU;IA+B9G,MAAM,CAAC,OAAO,EAAE,MAAM;IAOtB,KAAK;IAOL,IAAI,eAAe,WAElB;IAED,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IAiErB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,eAAe;CASxB"}
@@ -0,0 +1,7 @@
1
+ import { Texture } from 'pixi.js';
2
+ import { FxParticleConfig, FxShape } from './types';
3
+ export declare function getShapeTexture(shape?: FxShape): Texture;
4
+ export declare function preloadParticleTextures(config?: FxParticleConfig): Promise<void>;
5
+ export declare function preloadPresetTextures(preset: any): Promise<void>;
6
+ export declare function getParticleTextures(config?: FxParticleConfig, random?: () => number): Texture[];
7
+ //# sourceMappingURL=textures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../src/fx/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAgB,eAAe,CAAC,KAAK,GAAE,OAAsB,GAAG,OAAO,CAKtE;AAoED,wBAAsB,uBAAuB,CAAC,MAAM,GAAE,gBAAqB,iBAe1E;AAED,wBAAsB,qBAAqB,CAAC,MAAM,KAAA,iBAIjD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,gBAAqB,EAAE,MAAM,eAAc,GAAG,OAAO,EAAE,CAgBlG"}
@@ -0,0 +1,93 @@
1
+ import { Container, Texture } from 'pixi.js';
2
+ export type FxSignal<T> = T | (() => T);
3
+ export type FxRange = number | [number, number];
4
+ export type FxColor = string | number;
5
+ export type FxColorRange = FxColor | [FxColor, FxColor];
6
+ export type FxShape = "circle" | "softCircle" | "spark" | "square" | "star";
7
+ export type FxFrameMode = "first" | "random" | "animated";
8
+ export type FxBlendMode = "normal" | "add" | "multiply" | "screen" | string;
9
+ export interface FxParticleConfig {
10
+ image?: string;
11
+ texture?: Texture;
12
+ spritesheet?: string;
13
+ frame?: string;
14
+ frames?: string[];
15
+ frameMode?: FxFrameMode;
16
+ frameRate?: number;
17
+ shape?: FxShape;
18
+ lifetime?: FxRange;
19
+ color?: FxColorRange;
20
+ tint?: FxColorRange;
21
+ alpha?: FxRange;
22
+ scale?: FxRange;
23
+ rotation?: FxRange;
24
+ rotationSpeed?: FxRange;
25
+ blendMode?: FxBlendMode;
26
+ anchor?: {
27
+ x: number;
28
+ y: number;
29
+ };
30
+ ease?: "linear" | "outQuad" | "outCubic" | "inQuad";
31
+ }
32
+ export interface FxEmitterConfig {
33
+ name?: string;
34
+ delay?: number;
35
+ duration?: number;
36
+ loop?: boolean;
37
+ burst?: number;
38
+ rate?: number;
39
+ maxParticles?: number;
40
+ x?: number;
41
+ y?: number;
42
+ spreadX?: number;
43
+ spreadY?: number;
44
+ angle?: FxRange;
45
+ speed?: FxRange;
46
+ accelerationX?: number;
47
+ accelerationY?: number;
48
+ gravity?: number;
49
+ particle?: FxParticleConfig;
50
+ }
51
+ export interface FxPreset {
52
+ duration?: number;
53
+ delay?: number;
54
+ emitters: FxEmitterConfig[];
55
+ }
56
+ export interface FxParticle {
57
+ sprite: any;
58
+ age: number;
59
+ lifetime: number;
60
+ vx: number;
61
+ vy: number;
62
+ ax: number;
63
+ ay: number;
64
+ gravity: number;
65
+ startAlpha: number;
66
+ endAlpha: number;
67
+ startScale: number;
68
+ endScale: number;
69
+ startTint: number;
70
+ endTint: number;
71
+ rotationSpeed: number;
72
+ frameRate: number;
73
+ frames: Texture[];
74
+ ease: NonNullable<FxParticleConfig["ease"]>;
75
+ }
76
+ export interface FxInstance {
77
+ container: Container;
78
+ preset: FxPreset;
79
+ elapsed: number;
80
+ loop: boolean;
81
+ complete: boolean;
82
+ activeParticles: number;
83
+ stop: () => void;
84
+ }
85
+ export interface FxRuntimeOptions {
86
+ seed?: number;
87
+ maxParticles?: number;
88
+ missingTexture?: "skip" | "shape" | "error";
89
+ onStart?: (instance: FxInstance) => void;
90
+ onComplete?: (instance: FxInstance) => void;
91
+ onParticleSpawn?: (particle: FxParticle) => void;
92
+ }
93
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fx/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { FxColor, FxRange } from './types';
2
+ export declare function resolveValue<T>(value: T | (() => T)): T;
3
+ export declare function createRandom(seed?: number): () => number;
4
+ export declare function rangeValue(value: FxRange | undefined, random: () => number, fallback: number): number;
5
+ export declare function normalizeAngle(value: FxRange | undefined, random: () => number): number;
6
+ export declare function colorToNumber(value: FxColor | undefined, fallback?: number): number;
7
+ export declare function lerp(start: number, end: number, progress: number): number;
8
+ export declare function lerpColor(start: number, end: number, progress: number): number;
9
+ export declare function easeValue(name: string | undefined, progress: number): number;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAEvD;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAa,gBAM7C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMrG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,SAAW,GAAG,MAAM,CAQrF;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW9E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5E"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './Bar';
2
2
  export * from './Particle';
3
+ export * from './fx';
3
4
  export * from './NightAmbiant';
4
5
  export * from './Loading';
5
6
  export * from './Tilemap';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}