Commit graph

296 commits

Author SHA1 Message Date
Richard Davey
a177b9ecd1 Updated jsdocs and moved lifeCurrent bail out 2023-01-03 21:27:50 +00:00
Richard Davey
bb4e446930 Revised GravityWell config 2023-01-03 21:09:15 +00:00
Richard Davey
425a5340e1 GravityWell now extends the ParticleProcessor 2023-01-03 21:09:05 +00:00
Richard Davey
1850d61011 Created the ParticleProcessor class 2023-01-03 21:08:55 +00:00
Richard Davey
ff3406ea0e Fixed scale override 2023-01-03 21:08:43 +00:00
Richard Davey
965d7a525a Fixed scale setter and added kill method 2023-01-03 18:35:32 +00:00
Richard Davey
91ffc0da74 Fixed scale config 2023-01-03 18:35:18 +00:00
Richard Davey
4ea68e9d12 Added overlap method and fixed iterator order 2023-01-03 17:44:30 +00:00
Richard Davey
87e15a4715 Added Particle.bounds and getBounds method 2023-01-03 17:44:11 +00:00
Richard Davey
9e10ee09ce Added getWorldTransformMatrix 2023-01-03 13:14:40 +00:00
Richard Davey
42b89ae484 Testing getBounds 2023-01-03 13:14:29 +00:00
Richard Davey
bc1bc3baba Destroy the EmitterOps 2023-01-03 12:32:15 +00:00
Richard Davey
4977160222 Call setPosition instead of resetPosition 2023-01-03 12:30:48 +00:00
Richard Davey
afa81ae221 * EmitterOp._onEmit is a new private reference to the emit callback function, if specified in the emitter configuration. It is called by the new EmitterOp.proxyEmit method, to ensure that the Emitter current property remains current. * EmitterOp._onUpdate is a new private reference to the update callback function, if specified in the emitter configuration. It is called by the new EmitterOp.proxyUpdate method, to ensure that the Emitter current property remains current. * EmitterOp.destroy is a new method that nulls all references. This is called automatically when a ParticleEmitter is itself destroyed. 2023-01-03 12:30:34 +00:00
Richard Davey
ad93e05ec4 The Particle.resetPosition method has been renamed to setPosition and it now takes optional x/y parameters. If not given, it performs the same task as resetPosition did in earlier versions. 2023-01-03 12:23:35 +00:00
Richard Davey
799ee5a84d No need for config in constructor
Current property tracks what's going on
Method is cached on creation and doesn't change
onChange method handles value update only without needing to invoke setMethod again
2023-01-02 23:42:49 +00:00
Richard Davey
dccc27b83c Lots of updates, including ...
No need to pass config to EmitterOp constructor
Always call EmitterOp.loadConfig
No need to check if 'config' exists, as it always should
setEmitZone now swaps the active zone
Emit Zones can have -1 total (infinity)
Quantity emit called properly
Getters now use new 'current' property, so they all work properly
2023-01-02 23:41:09 +00:00
Richard Davey
5efed3989c Updated docs 2023-01-02 23:38:06 +00:00
Richard Davey
717367a3f9 Added 'randomRangedIntEmit' and 'int' flag 2023-01-02 18:44:34 +00:00
Richard Davey
b10835d599 Update ParticleEmitter.js 2023-01-02 18:18:40 +00:00
Richard Davey
2ed12f208b Added AlphaSingle and FX components and applied during rendering 2023-01-02 18:18:28 +00:00
Richard Davey
468bf7821d Updated copyright year 2023-01-02 17:36:27 +00:00
Richard Davey
716ca4e784 Added DEATH_ZONE event and removed 'emitter' from event names 2023-01-02 17:32:40 +00:00
Richard Davey
50182bfe13 Refactored counters a little. Added 'resetCounters', added emit zone totals and indexes. 2023-01-02 17:12:11 +00:00
Richard Davey
f848b1dbe6 Added emit zone total property 2023-01-02 16:51:56 +00:00
Richard Davey
77ec0b55b8 Call the new emit and death zone emitter methods. 2022-12-30 18:59:07 +00:00
Richard Davey
4bd740acb4 Allow arrays of emit and death zones. Add emit zone counter. Add methods to get emit and death zones. 2022-12-30 18:58:56 +00:00
Richard Davey
fc046b4d5b Create DeathZoneObject.js 2022-12-30 18:58:30 +00:00
Richard Davey
9f34aa5e14 Create EmitZoneObject.js 2022-12-30 18:58:27 +00:00
Richard Davey
e737db215f Adding support for multiple death and emission zones 2022-12-27 18:54:26 +00:00
Richard Davey
807945bf60 Added STOP and COMPLETE events 2022-12-23 17:29:18 +00:00
Richard Davey
23d5ee7955 Fixed jsdocs 2022-12-23 17:28:56 +00:00
Richard Davey
cdd1044b03 Added stopAfter property and logic. Added counters typed array. Fixed frequency calculation. 2022-12-22 18:51:40 +00:00
Richard Davey
1d8bcc5408 Added duration to Emitter.start method 2022-12-22 14:57:27 +00:00
Richard Davey
d3ed47b250 Added duration to config def 2022-12-22 14:57:16 +00:00
Richard Davey
264dcc1d8f ParticleEmitter can now interpolate particles, emits 3 new events and has a new duration option 2022-12-22 14:38:33 +00:00
Richard Davey
f0a39d8bd0 Added new Particle Emitter events 2022-12-22 14:38:11 +00:00
Richard Davey
8d0f7ee0f3 Added ability to interpolate particle onUpdate 2022-12-22 12:20:14 +00:00
Richard Davey
5f8c4ddbac Chainable 2022-12-22 11:21:30 +00:00
Richard Davey
21299a48ee You can now 'fast forward' a Particle Emitter. This can be done via either the emitter config, using the new advance property, or by calling the new ParticleEmitter.fastForward method. If, for example, you have an emitter that takes a few seconds to 'warm up' and get all the particles into position, this allows you to 'fast forward' the emitter to a given point in time. The value is given in ms. All standard emitter events and callbacks are still handled, but no rendering takes place during the fast-forward until it has completed. 2022-12-22 11:09:11 +00:00
Richard Davey
a5b7ffdb08 Particle tint working correctly 2022-12-19 18:35:40 +00:00
Richard Davey
58533686d5
Merge pull request #6321 from samme/docs/constructor-types
Docs: change "Constructor" types to `function`
2022-12-19 16:43:31 +00:00
Richard Davey
91a1b351f0 Testing tint vs color 2022-12-19 13:48:53 +00:00
Richard Davey
0c575fd859 Remove un-used parameter 2022-12-18 17:22:39 +00:00
Richard Davey
b71b29d353 Added EmitterOps jsdocs 2022-12-17 18:56:44 +00:00
Richard Davey
34c159b678 Added speed getter 2022-12-17 17:54:08 +00:00
Richard Davey
b8094cc078 Fixed null comparison 2022-12-17 17:51:35 +00:00
samme
09be12612b Docs: change "Constructor" types to function
- Phaser.Types.GameObjects.Group.GroupClassTypeConstructor
- Phaser.Types.GameObjects.Particles.ParticleClassConstructor
- Phaser.Types.Tilemaps.CreateFromObjectsClassTypeConstructor

Fixes #6318
2022-12-16 15:37:09 -08:00
Richard Davey
da96b39179 Fixed flow of position and velocity and allowed bounce and moveTo to be updateable 2022-12-15 17:32:15 +00:00
Richard Davey
cad71d1747 Updated docs and made moveToX/Y and bounce onUpdate'able 2022-12-15 17:31:47 +00:00
Richard Davey
f344b2109e Added support for stepped yoyo and fixed random max value 2022-12-15 17:31:17 +00:00
Richard Davey
9c52f8a651 Testing all ops as onUpdate capable 2022-12-15 13:33:58 +00:00
Richard Davey
380e2ca760 Access values from new ops object 2022-12-15 00:51:22 +00:00
Richard Davey
bf870d5165 Swapped to new ops object and public getters 2022-12-15 00:51:11 +00:00
Richard Davey
e5695cabff If it's a new callback we need it 2022-12-15 00:40:23 +00:00
Richard Davey
2879b12a10 Added active, method, getMethod and new setMethod functions. Optimized flow. 2022-12-15 00:34:34 +00:00
Richard Davey
b553398ad8 Testing using _x for EmitterOps and public accessors 2022-12-14 18:42:53 +00:00
Richard Davey
3bb68b45ae Better destroy handling. preUpdate won't run unless active. Added setEmitterAnims method. 2022-12-14 18:16:03 +00:00
Richard Davey
3efc22a127 Added AnimationState component and related properties, Event Emitter proxy and destroy method 2022-12-14 18:12:50 +00:00
Richard Davey
98b0123004 Move configs to global vars, save memory. Add getAnim and setAnim and related properties. Vastly improve destroy handling. 2022-12-14 18:12:23 +00:00
Richard Davey
dd8f9e42b0 Now uses setQuad and skips particles with scale o 2022-12-14 16:38:22 +00:00
Richard Davey
6867ca5b82 Give Particles an animation component 2022-12-13 18:51:15 +00:00
Richard Davey
1121cedf60 Adding in Particle Manager destroy handling 2022-12-13 18:51:04 +00:00
Richard Davey
5d77e1fdc8 Particle.fire will now check to see if the parent Emitter is set to follow a Game Object and if so, and if the x/y EmitterOps are spread ops, then it'll space the particles out based on the follower coordinates, instead of clumping them all together. Fix #5847 2022-11-23 00:29:12 +00:00
Richard Davey
64ede38b9d Added more docs confirming overrides. Fix #6046 2022-11-22 23:37:20 +00:00
samme
6960205f46
Docs: correct EdgeZoneSourceCallback return type 2022-10-13 12:59:26 -07:00
Richard Davey
15c58bc71c Added maxAliveParticles
`maxAliveParticles` is a new Particle Emitter config property that sets the maximum number of _alive_ particles the emitter is allowed to update. When this limit is reached a particle will have to die before another can be spawned.
2022-07-12 16:28:12 +01:00
Jonah Jeleniewski
e8c8be0385
Let texture scaleMode override the antialias setting under CANVAS 2022-06-11 18:07:29 +10:00
samme
f393cb9c43 Allow particle frequency smaller than delta 2022-05-30 10:55:30 -07:00
Richard Davey
a4d8e87095 Fixed lint errors 2022-05-10 17:06:53 +01:00
Richard Davey
919fa39faa
Merge pull request #6067 from TJ09/commonjs-import-change
Don't reassign the return values from require()
2022-05-09 16:49:58 +01:00
Richard Davey
da9296eae7
Merge pull request #6038 from samme/patch-10
Docs: correct args in ParticleEmitter#explode()
2022-04-14 15:40:20 +01:00
Richard Davey
4b752aad2e
Merge pull request #6061 from samme/misc/opt-particle-moveTo
Simplify the particle moveTo calculations
2022-04-14 15:39:28 +01:00
Richard Davey
fb6f9d370b
Merge pull request #6060 from samme/feature/particle-moveTo-zero
Allow moving particles to (0, 0)
2022-04-14 15:37:55 +01:00
samme
0b6d26b114
Docs: clarify ParticleEmitter#moveTo
#6046
2022-04-08 09:55:42 -07:00
T.J. L
ff4ef2872b Don't overwrite the return values from require() 2022-04-02 01:49:19 -07:00
samme
d083179cbb Allow moving particles to (0, 0)
moveToX and moveToY are initialized to null instead of 0
2022-03-29 18:20:26 -07:00
samme
8b70cf643d Simplify the moveTo calculation 2022-03-25 11:24:59 -07:00
samme
0e22b0ecd6
Docs: correct args in ParticleEmitter#explode()
All arguments are optional
2022-03-11 14:00:05 -08:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
7aa7187a0f
Merge pull request #5870 from samme/docs/class-types
Add GroupClassTypeConstructor and ParticleClassConstructor types
2022-02-28 13:53:39 +00:00
Richard Davey
a4308cfa3a Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951 2022-02-03 16:44:24 +00:00
Richard Davey
20d4391c29 Calling ParticleEmitter.setScale would set the scaleY property to null, causing calls to setScaleY to throw a runtime error. scaleY is now a required property across both the Particle and Emitter classes and all of the conditional checks for it have been removed 2021-10-28 15:01:51 +01:00
samme
ba5e4ffab7 Docs: add Phaser.Types.GameObjects.Particles.ParticleClassConstructor
Fixes #5731 ?
2021-10-13 13:23:31 -07:00
Richard Davey
cca537b66b
Merge pull request #5841 from samme/feature/warn-particle-missing-frame
Warn, throw for particle texture frame mistakes
2021-09-24 14:38:20 +01:00
samme
023336f826 Throw an error for missing particle texture frame 2021-09-23 11:15:58 -07:00
samme
da86ea7029 Warn for missing texture frames 2021-09-23 11:15:29 -07:00
Richard Davey
93db763f69
Merge pull request #5340 from 16patsle/Fix_object_types
Add more specific 'object' types, including GO Configs
2021-09-23 15:30:43 +01:00
Emil Schnedler Vad
9fa971902b fixed type of ParticleEmitterConfig deathCallback to function 2021-05-24 16:42:01 +02:00
samme
3248971411 Fix wrong particle follow position
Fixes #5457
2021-02-21 11:30:32 -08:00
Richard Davey
1c8662dc1f Call addToRenderList 2021-01-07 14:52:08 +00:00
Richard Davey
00d8b6a009 Invoke camera.addToRenderList method 2021-01-07 12:31:31 +00:00
Richard Davey
e08b5386dd Removed follow from render code 2020-12-14 11:51:16 +00:00
Richard Davey
7ff4c5958b Fire particle from follower position. Fix #5437 2020-12-14 11:46:19 +00:00
Richard Davey
59e89fa788 All Game Objects will now listen for ADDED_TO_SCENE and REMOVED_FROM_SCENE events and call the handlers. Therefore, removed GO specific implementations. 2020-12-11 11:44:21 +00:00
Patrick Sletvold
d327a4da34
Add Config types for ParticleEmitterManager and Mesh 2020-12-10 11:40:01 +01:00
Richard Davey
0ee1338765 Better post pipeline call (less code) 2020-11-26 09:51:40 +00:00
Richard Davey
09c49ac288 Fixed emitter mask pipeline 2020-11-24 14:52:57 +00:00
Richard Davey
d2e2e86ef1 Updated accessor 2020-11-23 16:22:11 +00:00
Richard Davey
ec5da6930c Added post pipeline support to all Game Objects 2020-11-23 16:17:13 +00:00