A major overhaul of how emitters & particle behavior are handled to improve customization and hopefully make a future editor overhaul easier (by way of being more generic).
Major changes:
Most particle behavior (both at spawn and while alive) is controlled by smaller, more self contained behaviors that can be mixed & matched, or dropped entirely. Now animated particles can follow paths, instead of being separate classes.
I did compare performance using the container performance example - the change to calling init and update methods for each behavior (per particle) instead of for each particle had no significant change in performance in Chrome or Firefox.
The particle class has significantly less functionality, as it is now fully and directly controlled by the Emitter and its behaviors.
The library now outputs ES6 code, because it is time (and to get ahead of PixiJS doing it first, which would break everything downstream that still does ES5 classes).
Minor changes:
Rotation is now handled internally fully as radians, to do degree -> radian conversion less often.
Added Emitter.emitNow() and Emitter.fillPool()
The particlesPerWave configuration is now a general emitter property, rather than specific to the burst spawn type.
Path movement accepts a function input as well as the previous string input.
Emitter rotation is applied after spawn positioning, so emission inside a rectangle means that the emission rectangle will be rotated with the emitter.
Allow overriding the string -> Texture method so you can roll your own loading and caching system if desired.
Added a new output file specifically for editors to use by describing behavior's config setups.
To Do:
[x] Change how the behaviors namespace is being exported, because dts-bundle-generator currently doesn't handle export * as ... well.
[x] Make sure that docs are generating correctly, all new things are documented.
A major overhaul of how emitters & particle behavior are handled to improve customization and hopefully make a future editor overhaul easier (by way of being more generic).
Major changes:
Minor changes:
Emitter.emitNow()
andEmitter.fillPool()
particlesPerWave
configuration is now a general emitter property, rather than specific to the burst spawn type.Added a new output file specifically for editors to use by describing behavior's config setups.
To Do:
dts-bundle-generator
currently doesn't handleexport * as ...
well.