Commit graph

12162 commits

Author SHA1 Message Date
samme
90378c6e79 Docs: make originX and originY read only 2023-01-11 09:29:58 -08:00
Richard Davey
e77bd80587 Add new EmitterColorOp and support for it on WebGL 2023-01-11 00:34:35 +00:00
Richard Davey
f770be1cca Fixed return type 2023-01-10 23:25:13 +00:00
Richard Davey
e9c6afca74 Allow to set texture via config. Order ops alphabetically. 2023-01-10 23:01:40 +00:00
Richard Davey
f6e33ce064 Fixed EmitterCreator 2023-01-10 22:49:15 +00:00
Richard Davey
7308d1e6f8 Update SpriteConfig.js 2023-01-10 22:49:07 +00:00
Richard Davey
3eaf5d5679 Fixed Factory jsdocs 2023-01-10 22:04:10 +00:00
Richard Davey
b3dcd4f989 Fixing jsdocs 2023-01-10 21:41:28 +00:00
Richard Davey
891666e3cd Removed ParticleEmitterManager and merged changes into ParticleEmitter 2023-01-10 21:23:44 +00:00
Richard Davey
34f5e9522b Fixed frame and animation settings, removed unused props, tidied up setters ready for Emitter take-over 2023-01-10 18:52:41 +00:00
Richard Davey
b5e9cc9a7b Testing Emitter2 stand-alone 2023-01-09 18:12:19 +00:00
samme
190c3af510 Add optional update to CanvasTexture methods 2023-01-08 09:25:45 -08:00
Richard Davey
fffd2bcb04 Create ParticleEmitter2.js 2023-01-06 18:44:20 +00:00
Richard Davey
6560c868ae Fixed set methods and a typo 2023-01-06 17:41:01 +00:00
Richard Davey
51d10677b1 The Game.registry, which is a DataManager instance that can be used as a global store of game wide data will now use its own Event Emitter, instead of the Game's Event Emitter. This means it's perfectly safe for you to now use the Registry to emit and listen for your own custom events without conflicting with events the Phaser Game instance emits. 2023-01-06 17:19:45 +00:00
Richard Davey
8abfcd2f6f The GenerateVerts function has a new optional parameter flipUV which, if set, will flip the UV texture coordinates 2023-01-06 14:41:09 +00:00
Richard Davey
ff94396f05 Set default or the emitter config property won't work 2023-01-06 14:08:14 +00:00
Richard Davey
690f9444ec Fixed Emitter.getBounds and use of viewBounds 2023-01-06 13:55:13 +00:00
Richard Davey
e4a4f30c27 Restored previous version 2023-01-06 13:54:52 +00:00
Richard Davey
3dbc513e9c Debugging MergeRect 2023-01-05 18:46:23 +00:00
Richard Davey
7d80a7cce0 Added Emitter.getBounds and viewBounds culling 2023-01-05 17:58:20 +00:00
Richard Davey
9c3a30e79f Swap to use math const 2023-01-05 17:57:41 +00:00
Richard Davey
f782576c18 Fixed jsdocs 2023-01-05 16:03:09 +00:00
Richard Davey
a30f6a1f92 Updated documentation 2023-01-05 15:35:59 +00:00
Richard Davey
f7195e6545 The GenerateVerts function no longer errors if the verts and uvs arrays are not the same size and containsZ is true 2023-01-05 14:57:52 +00:00
Richard Davey
4e642eb994 Added documentation and sort properties 2023-01-05 14:23:41 +00:00
Richard Davey
1bf231f549 Updated TypeDefs 2023-01-05 14:23:28 +00:00
Richard Davey
493289367e Use sortCallback 2023-01-05 14:23:17 +00:00
Richard Davey
95f3440784 Added sortProperty and sortOrderAsc properties and code. Reworked depthSortCallback. 2023-01-04 16:01:39 +00:00
Richard Davey
32d2f629cb Added matrix docs and destroy them on shutdown 2023-01-03 22:13:41 +00:00
Richard Davey
9c7ca72145 Updated jsdocs 2023-01-03 22:10:57 +00:00
Richard Davey
ada620b522 The add and remove processes can set the manager property. 2023-01-03 21:45:29 +00:00
Richard Davey
d78df08412 Merge branch 'master' of https://github.com/photonstorm/phaser 2023-01-03 21:31:25 +00:00
Richard Davey
73dd13d3a1 * ParticleEmitterManager.addParticleProcessor is a new method that allows you to add a Particle Processor instance to the Emitter Manager. The old createGravityWell method now uses this. * ParticleEmitterManager.removeParticleProcessor is a new method that will remove a Particle Processor from an Emitter Manager. * ParticleEmitterManager.processors is a new List property that contains all of the Particle Processors belonging to the Emitter Manager. * The ParticleEmitterManager.wells property has been removed. You should now use the new processors property instead, they are functionally identical. 2023-01-03 21:31:19 +00:00
Richard Davey
f1c300a3e9 Added t param to jsdocs 2023-01-03 21:28:00 +00:00
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
50f67d51b7
Merge pull request #6336 from jerricko/updateToFix
Fix: Tween UpdateTo throws error
2023-01-03 20:48:14 +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
Jerrick Morsey
fb06bbe89d Fix tween updateTo undefined error 2023-01-03 09:30:52 -07: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
a7282a17ec Update docs 2023-01-03 13:14:21 +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
129033a306 Added optional Float32Array 2022-12-27 18:25:36 +00:00
Richard Davey
463b602608 Use getters 2022-12-27 16:56:05 +00:00
Richard Davey
d72568c8d1
Merge pull request #6332 from ArtemSiz/browser_detection
fix the bug when Edge and Opera browsers are not defined
2022-12-27 15:09:50 +00:00
Artem Syzonenko
4a0c786fb9 fix the bug when Edge and Opera browsers are not defined 2022-12-27 13:22:25 +02:00
Bambosh
8038341c96 Compare maxSpeed with updated velocity 2022-12-24 15:26:13 +11:00
Richard Davey
ec18bf6ac7 Fixed url and updated math 2022-12-23 18:54:16 +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
951964c19e Update GetLineToLine.js 2022-12-22 00:54:10 +00:00
Richard Davey
a5b7ffdb08 Particle tint working correctly 2022-12-19 18:35:40 +00:00
Richard Davey
d602ea92ed
Merge pull request #6324 from rexrainbow/graph-concave-roundrectangle
Support concave corner in round rectangle
2022-12-19 16:45:57 +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
452987bc3d
Merge pull request #6325 from samme/docs/createFromTiles
Docs: correct type for `CreateFromTiles()` etc.
2022-12-19 16:36:30 +00:00
Richard Davey
91a1b351f0 Testing tint vs color 2022-12-19 13:48:53 +00:00
samme
390b4f577b Docs: correct type for CreateFromTiles() etc.
`replacements` is nullable
2022-12-19 03:28:40 -08:00
Rex
3a0a521d25 Support concave corner in round rectangle 2022-12-19 10:35:51 +08:00
Richard Davey
0c575fd859 Remove un-used parameter 2022-12-18 17:22:39 +00:00
Richard Davey
b267c607d2 Measure and Snap block freq read 2022-12-18 17:22:26 +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
868c299c62 Docs: correct GetShortestDistance()
Fixes #6322
2022-12-17 06:59:53 -08: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
c4ba83819b AnimationManager.getAnimsFromTexture is a new method that will return all global Animations, as stored in the Animation Manager, that have at least one frame using the given Texture. This will not include animations created directly on local Sprites. 2022-12-14 17:44:13 +00:00
Richard Davey
dd8f9e42b0 Now uses setQuad and skips particles with scale o 2022-12-14 16:38:22 +00:00
Richard Davey
67088c1075 Fixed return type 2022-12-14 16:38:04 +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
4b4473394c Debugging circle collision 2022-12-13 18:24:41 +00:00
Richard Davey
6bfa3c37af
Merge pull request #6319 from 0day-oni/master
Add additional type to orientation property
2022-12-13 17:07:47 +00:00
Pavle Goloskokovic
9eb69e8c0a fixed text related paths in phaser-core.js 2022-12-13 16:36:50 +01:00
Oni
6d9eebd45e Add additional type to orientation property 2022-12-13 16:14:42 +01:00
Richard Davey
e2539824ec Update World.js 2022-12-13 13:41:17 +00:00
Richard Davey
c5c2d2b329 Fixing the separation of non-pushable circular bodies 2022-12-13 01:56:23 +00:00
Richard Davey
e1c33cc9e9 When a Game Object had Input Debug Enabled the debug image would be incorrectly offset if the Game Object was attached to was scaled and the hit area shape was smaller, or offset, from the Game Object. Fix #4905 #6317 2022-12-12 17:12:58 +00:00
Richard Davey
1302c1724f An inactive Scene is no longer updated after a Scene transition completes. Previously, it will still update the Scene one final time. This fix also prevents the POST_UPDATE event from firing after the transition is over. Fix #5550 2022-12-12 14:57:37 +00:00
Richard Davey
b5312b86fa The SceneManager.processQueue method will no longer return if a new Scene was added, after starting it. This allows any other queued operations to still be run in the same frame, rather than being delayed until the next game frame. Fix #5359 2022-12-12 14:51:05 +00:00
Richard Davey
6d0fd99a13 Spelling fix 2022-12-09 18:44:32 +00:00
Richard Davey
d67654eb0d Preparing for Beta 18 2022-12-09 18:24:54 +00:00
Richard Davey
a39cebf7dc Removed old code 2022-12-09 18:19:53 +00:00
Richard Davey
3d1e2f952f Typo fixes 2022-12-09 18:17:26 +00:00
Richard Davey
8f8309a945 Camera.scrollX and scrollY will now only set the Camera.dirty flag to true if the new value given to them is different from their current value. This allows you to use this property in your own culling functions. Fix #6088 2022-12-09 18:14:38 +00:00
Richard Davey
538b7ecff3 Revert to correct list. Fix #6306 2022-12-09 18:04:04 +00:00
Richard Davey
bda73034e3 May as well use cached value 2022-12-09 18:03:50 +00:00
Richard Davey
c53dc4a5a1 Removed alwaysEnabled property entirely. #5507 #6306 2022-12-09 18:03:41 +00:00
Richard Davey
9140bedd34 Added missing lineSpacing property 2022-12-09 16:01:02 +00:00
Richard Davey
a41247e2d9 Fixed incorrect jsdocs #6309 2022-12-09 15:59:02 +00:00
Richard Davey
784f04cf61
Merge pull request #6309 from arbassic/master
Add `lineSpacing` property and `setLineSpacing` method to BitmapText
2022-12-09 15:55:15 +00:00
Richard Davey
d44db46253
Merge pull request #6300 from EmilSV/spread_step_fix
fixed Phaser.Actions.Spread step value so the last element is equal max
2022-12-09 15:37:58 +00:00
Richard Davey
380100c4c1 Fix height math and update docs 2022-12-08 22:48:46 +00:00
Richard Davey
a6135be4eb Clamp min width/height 2022-12-08 22:44:40 +00:00
Richard Davey
fe93dab2c9 Added NineSlice factory 2022-12-08 22:44:31 +00:00
Richard Davey
73c7cf6d7a Updated jsdocs 2022-12-08 22:44:19 +00:00
Richard Davey
e304952a8b Added NineSlice Creator functions 2022-12-08 22:43:44 +00:00
Richard Davey
0d9bd568e5 Correct type 2022-12-08 22:43:28 +00:00
Richard Davey
8de87cfeca Height now locked for a 3-slice object 2022-12-08 18:55:09 +00:00
Richard Davey
5d4dd9d918 Added full documentation, 3-slice support, support for frames in texture atlases and changing frames 2022-12-08 18:41:09 +00:00
Richard Davey
77c87475d8 Updated jsdocs 2022-12-08 18:40:14 +00:00
Richard Davey
96bbc1dfd5 Revised jsdoc return type 2022-12-08 16:23:56 +00:00
Richard Davey
2d409cbe54 Now supports origin component 2022-12-08 16:19:29 +00:00
Richard Davey
45c0c23f6f Added origin to resize method 2022-12-08 16:17:10 +00:00
Richard Davey
fea262f3e0 Testing origin 2022-12-07 18:51:26 +00:00
Richard Davey
cb124bf9a5 Uses new vertexAvailable check and src tint and alpha 2022-12-07 18:30:08 +00:00
Richard Davey
c7475151ae Added FX, GetBounds, Origin components and Tint methods 2022-12-07 18:29:40 +00:00
Richard Davey
7a5d138271 Testing deleting renderbuffer #6311 2022-12-07 18:29:11 +00:00
Richard Davey
c09240124d New parameters and docs 2022-12-07 18:28:51 +00:00
Richard Davey
c4655bfb6d Changed to resize method 2022-12-07 18:28:35 +00:00
Richard Davey
7996f4eb9e Removed un-needed method 2022-12-07 18:28:25 +00:00
Richard Davey
a813f9c229 WebGLPipeline.vertexAvailable is a new method that returns the number of vertices that can be added to the current batch before it will trigger a flush. 2022-12-07 18:28:17 +00:00
Richard Davey
00564508d4 Tidying up 2022-12-06 22:48:26 +00:00
Richard Davey
4dcef816b9 Vertex updating working 2022-12-06 22:45:13 +00:00
Richard Davey
50efdf0ab7 Complete 9-slice vertices done 2022-12-06 19:37:24 +00:00
Richard Davey
715002df86 Add alpha value 2022-12-06 18:30:33 +00:00
Richard Davey
468548c918 Skip alpha zero verts 2022-12-06 18:30:22 +00:00
Richard Davey
f8ae7c8bab Now created via addQuad method 2022-12-06 18:02:32 +00:00
Richard Davey
4e8d0efb1e Render direct from vertices, not Faces 2022-12-06 18:02:16 +00:00
Richard Davey
fbc15ccfff The Vertex.update method now returns this to allow it to be chained. 2022-12-06 18:00:11 +00:00
Richard Davey
b3c7cc83d7 Preparing for 12 area calculations 2022-12-06 13:39:07 +00:00
Richard Davey
b84aecb1d4 Added docs (from Pixi) and finished 3-slice scaling 2022-12-05 22:58:49 +00:00
Richard Davey
890cf74e8d Move here until it goes into its own example 2022-12-05 22:58:30 +00:00
Richard Davey
657a33da8c Moved data to arrays and added config object 2022-12-05 21:43:35 +00:00
Richard Davey
343ee5d216 Added config object 2022-12-05 21:43:23 +00:00
arbassic
1fd986fe58 fix JSDocs 2022-12-05 22:32:23 +01:00
arbassic
9fe15df66b fix JSDocs 2022-12-05 22:31:19 +01:00
arbassic
720cf7e296 better comment, include in toJSON 2022-12-05 22:14:55 +01:00
arbassic
aa0d9be861 Add lineSpacing property to BitmapText 2022-12-05 22:10:45 +01:00
Richard Davey
83cf8d12fc Update NineSlice.js 2022-12-05 18:46:53 +00:00
Richard Davey
1f51d418db Working through manual vertex creation 2022-12-05 18:21:57 +00:00
Richard Davey
72cfbbb741 Removed inView checks 2022-12-05 18:21:47 +00:00
Richard Davey
0d2cee6d97 Added transformIdentity and update methods 2022-12-05 18:21:39 +00:00
Richard Davey
6867136672 Testing Mesh based NineSlice Game Objectg 2022-12-02 18:07:20 +00:00
Richard Davey
65af3c0874 Don't abort of texture provided 2022-12-02 18:07:07 +00:00
Richard Davey
6080bca8e5 Testing Video events 2022-12-02 13:35:20 +00:00
Richard Davey
896afcb68f Update DOMElement.js 2022-12-01 18:45:11 +00:00
Richard Davey
3b129f8cff Calling setDisplayOrigin on a Video Game Object would cause the origins to be set to NaN if the Video was created without an asset key. It will now give Videos a default size, preventing this error, which is reset once a video is loaded. Fix #5560 2022-11-30 22:59:32 +00:00
Richard Davey
fa96337a30 Beta 17 prep 2022-11-30 22:58:47 +00:00
Christen Lofland
e52f1738ef Fix Issue #6301 causing tilemap collisions to fail. 2022-11-30 15:28:59 -06:00
Emil Schnedler Vad
f32817f014 fixed step value so the last element is equal max 2022-11-30 18:57:45 +01:00
Richard Davey
1747cb67be Preparing for Beta 16 2022-11-30 15:13:22 +00:00
Richard Davey
14ddd29fbd Fixed TS errors 2022-11-30 15:06:52 +00:00
Richard Davey
f571fc68aa Fix #6296 2022-11-30 13:48:22 +00:00
Richard Davey
1e9bb686d3 When calling PipelineManager.clear and rebind it will now check if the vao extension is available, and if so, it'll bind a null vertex array. This helps clean-up from 3rd party libs that don't do this directly, such as ThreeJS. 2022-11-29 23:38:47 +00:00
Richard Davey
8b6b398b68 When ImageFile loads with a linked Normal Map and the map completes first, but the Image is still in a pending state, it would incorrectly add itself to the cache instead of waiting. It now checks this process more carefully. Fix #5886 2022-11-29 18:11:29 +00:00
Richard Davey
5ae9cf7f09 Using a dataKey to specify a part of a JSON file when using load.pack would fail as it wouldn't correctly assign the right part of the pack file to the Loader. You can now use this parameter properly. Fix #6001 2022-11-29 17:47:58 +00:00
Richard Davey
2b4332a404 Update JSONFile.js 2022-11-29 17:47:52 +00:00
Richard Davey
993562d803 Update LoaderPlugin.js 2022-11-29 17:47:44 +00:00
Richard Davey
ffa54fe1c1 Fixed loader reference. Fix #6295 2022-11-29 15:45:02 +00:00
Richard Davey
8b38fd3641 Reduce warning 2022-11-29 15:24:10 +00:00
Richard Davey
8b8b8fa352
Merge pull request #6281 from Ariorh1337/master
fix advancedWordWrap concatenate when wrapping
2022-11-29 15:23:21 +00:00
Richard Davey
4346113fee
Merge pull request #6238 from ubershmekel/master
Introduce `SceneType` for ease and correctness
2022-11-29 14:33:39 +00:00
Richard Davey
b585d7c2dd
Merge pull request #6292 from samme/feature/arcade-physics-group-defaults
Add `maxSpeed` and `useDamping` to Arcade Physics group config
2022-11-29 14:19:43 +00:00
Richard Davey
c0a072b37d Update GetTileCorners.js 2022-11-28 18:34:20 +00:00
Richard Davey
7f8a4eebf4 Update GetTileCorners.js 2022-11-28 18:33:36 +00:00
Richard Davey
91c731d609 Update GetTileCornersFunction.js 2022-11-28 18:32:06 +00:00
Richard Davey
4253db9a08 The Tilemap and TilemapLayer classes have a new method getTileCorners. This method will return an array of Vector2s with each entry corresponding to the corners of the requested tile, in world space. This currently works for Orthographic and Hexagonal tilemaps. 2022-11-28 18:31:20 +00:00
Richard Davey
f2aa880797 Update HexagonalTileToWorldXY.js 2022-11-28 18:16:01 +00:00
Richard Davey
3676881d57 Added comments 2022-11-28 17:34:18 +00:00
Richard Davey
f3e90518e5 Removed the HexagonalTileToWorldY function as it cannot work without an X coordinate. Use HexagonalTileToWorldXY instead. 2022-11-28 17:34:11 +00:00
Richard Davey
31ea1dc6da Recoded the point conversion math in the HexagonalTileToWorldXY function as it was incorrect. Now returns world coordinates correctly. 2022-11-28 17:33:48 +00:00
Richard Davey
e760178365 Tile.copy will now use the DeepCopy function to copy the Tile.properties object, as otherwise it just gets copied by reference. 2022-11-28 13:35:15 +00:00
Richard Davey
27bbf9b2f5 Tilemap.copy would error if you copied a block of tiles over itself, even partially, as it tried to copy already replaced tiles as part of the function. It will now copy correctly, regardless of source or destination areas. Fix #6188 2022-11-28 13:35:04 +00:00
Richard Davey
18b25d5bc1 Update GetTilesWithin.js 2022-11-28 13:34:57 +00:00
Richard Davey
949852d8d5 Recoded the point conversion math in the HexagonalWorldToTileXY function as it was incorrect. Now detects any dimension hexagon correctly. Fix #5608 2022-11-24 23:31:49 +00:00
Richard Davey
5139d22814 Added debug code commented out 2022-11-24 23:11:11 +00:00
Richard Davey
84ef41f470 Fixed math for any layer scale 2022-11-24 23:11:01 +00:00
Richard Davey
ddd4eeaa53 Now works - time to tidy up 2022-11-24 21:29:58 +00:00
Richard Davey
d570b9b26b Debugging hex coords 2022-11-24 18:54:17 +00:00
Richard Davey
c4b9dbc260 Added staggerAxis and staggerIndex 2022-11-24 18:54:10 +00:00
Richard Davey
b065452cc4 Debugging 2022-11-24 13:44:52 +00:00
Richard Davey
4bf7e1978f WorldToTileXY now does all the calculations and X and Y just call it. 2022-11-24 12:51:18 +00:00
Richard Davey
36bbc88995 Removed HexagonalWorldToTileY as it cannot work without an X value 2022-11-24 12:41:42 +00:00
Richard Davey
cf657f4fc7 Calling Tilemap.worldToTileX or worldToTileY on a Isometric or Hexagonal Tilemap will now always return null instead of doing nothing, as you cannot convert to a tile index using just one coordinate for these map types, you should use worldToTileXY instead. 2022-11-24 00:42:13 +00:00
Richard Davey
70cf842b8c Added NULL OP 2022-11-24 00:42:04 +00:00
Richard Davey
c8b40de29c Improved jsdocs 2022-11-24 00:41:55 +00:00
Richard Davey
6aa193c21b Added new getIsoTileAtWorldXY method. 2022-11-24 00:27:01 +00:00
Richard Davey
25bc5dec90 Fixed world to isometric conversion and added optional base origin property.
Fix #5781
2022-11-24 00:26:40 +00:00
samme
995edbbe85 Add maxSpeed and useDamping to physics group config 2022-11-23 09:06:44 -08:00
Richard Davey
fa6963319a The Game.headlessStep method will now reset SceneManager.isProcessing before PRE_RENDER. This fixes issues in HEADLESS mode where the Scene Manager wouldn't process additionally added Scenes created after the Game had started. Fix #5872 #5974 2022-11-23 16:14:15 +00:00
Richard Davey
384276ef0e If Rope.setPoints was called with the exact same number of points as before, it wouldn't set the dirty flag, meaning the vertices were not updated on the next render 2022-11-23 15:24:55 +00:00
Richard Davey
c0e592770f Update BitmapTextWord.js 2022-11-23 15:10:50 +00:00
Richard Davey
e0a8486dbc Update BitmapTextWord.js 2022-11-23 14:22:13 +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
5f35c016f3 Upgrade Earcut
Earcut has been updated to version 2.2.4. This release improves performance by 10-15% and fixes 2 rare race conditions that could leave to infinite loops. Earcut is used internally by Graphics and Shape game objects when triangulating polygons for complex shapes.
2022-11-22 23:51:20 +00:00
Richard Davey
64ede38b9d Added more docs confirming overrides. Fix #6046 2022-11-22 23:37:20 +00:00
Richard Davey
03b1ed62d1 When using RTL (right-to-left) Text Game Objects, the Text would vanish on iOS15+ if you changed the text or font style. The context RTL properties are now restored when the text is updated, fixing this issue. Fix #6121 2022-11-22 22:58:48 +00:00
Richard Davey
886920155b Add generics 2022-11-22 21:55:30 +00:00
Richard Davey
49c2f106b5 Swapped to non-instance based checks and added generics 2022-11-22 20:35:59 +00:00
Richard Davey
9bdf022bed The BaseSoundManager.getAll method used to require a key parameter, to return Sounds matching the key. This is now optional and if not given, all Sound instances are returned. 2022-11-22 18:49:37 +00:00
Richard Davey
320317c884 The WebAudioSoundManager will now detect if the Audio Context enters a 'suspended' or 'interrupted' state as part of its update loop and if so it'll try to resume the context. This can happen if you change or disable the audio device, such as plugging in headphones with built-in audio drivers then disconnecting them, or swapping tabs on iOS. Fix #5353 2022-11-22 18:38:49 +00:00
Richard Davey
ee2b5f5e35 Clarify jsdocs. Fix #6043 2022-11-22 18:26:13 +00:00
Richard Davey
9357b8e609 The RenderTarget class will now create a Framebuffer that includes a Depth Stencil Buffer attachment by default. Previously, it didn't. By attaching a stencil buffer it allows things like Geometry Masks to work in combination with Post FX and other Pipelines. Fix #5802 2022-11-22 18:13:03 +00:00
Richard Davey
e7efa068a7 Previously, calling createBitmapMask on a Shape Game Object would fail unless you passed the shape to the method. Now, it will correctly create a mask from the Shape without needing to pass it. Fix #5976 2022-11-22 17:40:56 +00:00
Richard Davey
95ef3f9c25 Update Container.js 2022-11-22 00:19:02 +00:00
Richard Davey
436a42cfb4 The InputPlugin.sortGameObjects method was using the Camera Render List to determine the Game Object display list. This would exclude non-rendering objects, such as Game Objects with alpha set to zero, even if their Input alwaysEnable flag was set. This method now uses the Display List instead, which gives correct results for invisible 'always enabled' objects. Fix #5507 2022-11-21 23:26:44 +00:00
Richard Davey
154e262ae8 No point doing this twice 2022-11-21 22:46:01 +00:00
Richard Davey
45fbebb53a BaseSoundManager.getAllPlaying is a new method that will return all currently playing sounds in the Sound Manager.
Fix #6147
2022-11-21 21:38:54 +00:00
Richard Davey
d71b53a7f5 Updated jsdocs. Fix #5981 2022-11-18 22:14:59 +00:00
Richard Davey
0f4bd028ce Corrected jsdocs. Fix #6113 2022-11-18 22:09:05 +00:00
Richard Davey
d4b386aa90 Added generics to Container 2022-11-18 22:04:39 +00:00
Richard Davey
84cdbdd560 Added generics. Fix #6140 2022-11-18 21:30:28 +00:00
Richard Davey
b28eaf8da7 Added generics to Scene Manager functions. Fix #5662 2022-11-17 22:13:24 +00:00
Richard Davey
d48f548472 TS defs update. Fix #5665 2022-11-17 18:40:24 +00:00
Richard Davey
e608c2caf1 The CONTEXT_RESTORED Game Event has been removed and the WebGL Renderer no longer listens for the contextrestored DOM event, or has a contextRestoredHandler method. This never actually worked properly, in any version of Phaser 3 - although the WebGLRenderer would be restored, none of the shaders, pipelines or textures were correctly re-created. If a context is now lost, Phaser will display an error in the console and all rendering will halt. It will no longer try to re-create the context, leading to masses of WebGL errors in the console. Instead, it will die gracefully and require a page reload. 2022-11-17 18:04:51 +00:00
Richard Davey
1b8495f4ec Update TweenChain.js 2022-11-17 17:31:25 +00:00
Richard Davey
c9d7a76998 The Light fragment shader will now use the outTintEffect attribute meaning the Light Pipeline will now correctly light both tinted and fill-tinted Game Objects. Fix #5452 2022-11-17 17:25:47 +00:00
Richard Davey
8c7c8ee2a4 The batchLine method in the Multi Pipeline will now check to see if the dxdy len is zero, and if so, it will abort drawing the line. This fixes issues on older Android devices, such as the Samsung Galaxy S6 or Kindle 7, where it would draw erroneous lines leading up to the top-left of the canvas under WebGL when rendering a stroked rounded rectangle. Fix #5429 2022-11-17 16:49:10 +00:00
Richard Davey
ce12d63d01 The Tilemap.destroyLayer method would throw an error "TypeError: layer.destroy is not a function". It now correctly destroys the TilemapLayer. Fix #6268 2022-11-17 14:34:46 +00:00
Richard Davey
759599e4d1 MapData and ObjectLayer will now enforce that the Tilemap.objects property is always an array. Sometimes Tiled willl set it to be a blank object in the JSON data. This fix makes sure it is always an array. Fix #6139 2022-11-17 14:28:23 +00:00
Richard Davey
05845c6ee0 The ParseJSONTiled function will now run a DeepCopy on the source Tiled JSON, which prevents object mutation, fixing an issue where Tiled Object Layer names would be duplicated if used across multiple Tilemap instances. Fix #6212 2022-11-17 14:17:58 +00:00
Richard Davey
2f720246ab Reset the buffer and textures on rebind. 2022-11-15 21:54:43 +00:00
Richard Davey
6220d9b18d Fake this flag to allow Bobs to get a physics body. Fix #6284 2022-11-14 21:41:37 +00:00
Richard Davey
11def7bf38 Added addMultiple and removed ability from add and chain to pass in arrays of configs 2022-11-14 17:04:05 +00:00
Dmitry Omelchenko
4f30e0b5b9 fix advancedWordWrap concatenate when wrapping 2022-11-12 17:30:27 +02:00
Richard Davey
c5e10cd3f1 Fix #6052 2022-11-10 22:14:18 +00:00
Richard Davey
cfc8e4df3d Preparing for Beta 15 2022-11-10 16:21:07 +00:00
Richard Davey
064e8a3ec2 Fixed type issues 2022-11-10 16:05:20 +00:00
Richard Davey
c546a38ae2 Updated jsdocs 2022-11-10 15:10:50 +00:00
Richard Davey
465bf07334 The GameObjects.Components.Mask.createBitmapMask method can now accept the x, y, texture and frame parameters new to the BitmapMask constructor. 2022-11-10 15:09:27 +00:00
Richard Davey
b457e42a2f The Light Pipeline will now check to see if a Light2D enabled Game Object has a parent Container, or not, and factor the rotation and scale of this into the light calculation. Fix #6086 2022-11-09 18:18:35 +00:00
Richard Davey
6b9872fb33 The method Color.setFromHSV would not change the members h, s and v, only the RGB properties. It now correctly updates them both. Fix #6276 2022-11-09 16:30:38 +00:00
Richard Davey
778b3e7f52 Allow key presses during pre-create stage 2022-11-08 23:32:58 +00:00
Richard Davey
987e769b6b Scenes.Systems.canInput is a new internal method that determines if a Scene can receive Input events, or not. This is now used by the InputPlugin instead of the previous isActive test. This allows a Scene to emit and handle input events even when it is running init or preload. Previously, it could only do this after create had finished running. Fix #6123 2022-11-08 23:21:33 +00:00
Richard Davey
b182557d03 Added canInput method 2022-11-08 23:21:25 +00:00
Richard Davey
6943989f46 The BitmapText Game Object has two new read-only properties displayWidth and displayHeight. This allows the BitmapText to correctly use the GetBounds component.
The `BitmapText` Game Object now has the `GetBounds` component added to it, meaning you can now correctly get its dimensions as part of a Container. Fix #6237
2022-11-08 18:42:05 +00:00
Richard Davey
3b57593e47 When calling GameObject.getPostPipeline and passing in a string for the pipeline name it would error with 'Uncaught TypeError: Right-hand side of 'instanceof' is not an object'. This is now handled correctly internally 2022-11-08 18:10:16 +00:00
Richard Davey
6bde2f2706
Merge pull request #6273 from samme/patch-17
Docs: correct example code in FILE_KEY_COMPLETE
2022-11-08 18:04:22 +00:00
Richard Davey
ed5759b846 Improve jsdocs and restrict Tween.updateTo to active Tweens only. Fix #6009 2022-11-08 18:03:33 +00:00
Richard Davey
70fff93516 Reset TD on loop 2022-11-06 22:00:56 +00:00
Richard Davey
d7a15e92a6 Added activeBuffer and activeTextures check to avoid gl ops 2022-11-03 22:05:18 +00:00
Richard Davey
2d81a4a50e Reverting to forloop shader 2022-11-03 22:04:58 +00:00
Richard Davey
528e32a18a Reverting to forloop approach 2022-11-03 22:04:44 +00:00
Richard Davey
65e8dcbb6b Fix conditional check 2022-11-03 18:45:11 +00:00
Richard Davey
4e4218ea73 Add missing parameter 2022-11-03 18:45:03 +00:00
Richard Davey
6724cc6e91 texture can be a string, or a string in the properties block 2022-11-03 18:44:54 +00:00
Richard Davey
2a8250ef60 Modified return types to 'this' 2022-11-03 16:03:51 +00:00
Richard Davey
8ea3e09307 Removed global functions and tidied up 2022-11-03 15:22:50 +00:00
Richard Davey
2ca2bd5535 Added setStateFromEnd, setStateFromStart, reset and onRepeat 2022-11-03 15:22:37 +00:00
Richard Davey
4d4f3aeadc reset should return this 2022-11-03 15:22:10 +00:00
Richard Davey
755517f80b Removed init method - let's just call reset directly 2022-11-03 15:22:02 +00:00
Richard Davey
ce1cc86185 Add isSeeking parameter 2022-11-03 14:26:38 +00:00
Richard Davey
1ca43444f4 Only reset property if seeking 2022-11-03 14:26:30 +00:00
Richard Davey
9f0baeaab7 Update TweenManager.js 2022-11-03 13:24:51 +00:00
Richard Davey
b9004eff67 Made getValue more bullet proof 2022-11-03 13:24:48 +00:00
Richard Davey
e921c61b39 Improved jsdocs and removed this.delta property as we don't need to store it internally 2022-11-03 13:17:39 +00:00
Richard Davey
36c65618d7 Safer seek loop 2022-11-03 12:56:58 +00:00
Richard Davey
b7a109bd26 Updated docs to remove frame reference and add clarity 2022-11-03 12:45:10 +00:00
Richard Davey
fc007d39ef Updated docs and seeking 2022-11-02 19:00:16 +00:00
Richard Davey
57a49934af Use reset now 2022-11-02 19:00:08 +00:00
Richard Davey
a679efe03f Use MAX const 2022-11-02 18:03:07 +00:00
Richard Davey
2daa8c9853 New reset and seek methods 2022-11-02 18:03:01 +00:00
Richard Davey
9f89de4594 New reset method that fully resets this TweenData 2022-11-02 18:02:52 +00:00
Richard Davey
a7827ba52e Use MAX const 2022-11-02 18:02:28 +00:00