Commit graph

11505 commits

Author SHA1 Message Date
Richard Davey
9aa1e0c2a9
Merge pull request #6216 from JernejHabjan/visible-children-performance
Improve visible children performance
2022-09-29 14:54:16 +01:00
Richard Davey
b2d47b11c1
Merge pull request #6214 from rexrainbow/getviewport-with-camera
Get viewport under a camera
2022-09-29 14:40:08 +01:00
Richard Davey
347413afb1
Merge pull request #6227 from EmilSV/tween-fixes
Tween fixes
2022-09-29 14:36:26 +01:00
Richard Davey
70da8df4a1
Merge pull request #6228 from EmilSV/tween-seek-fix
Tween seek use less then instead of less or equal
2022-09-29 14:35:50 +01:00
Richard Davey
3528354a4b Added handy 'stamp' method 2022-09-28 22:43:29 +01:00
Richard Davey
064a1e0f4f Added resetStamp 2022-09-28 22:43:20 +01:00
Richard Davey
0d951029b6 No need for 'this.frame' 2022-09-28 20:57:50 +01:00
Richard Davey
a60660a474 Create on READY 2022-09-28 20:57:42 +01:00
Richard Davey
e3503ef8b4 All of the following Texture Manager methods will now allow you to pass in a Phaser Texture as the source parameter: addSpriteSheet, addAtlas, addAtlasJSONArray, addAtlasJSONHash, addAtlasXML and addAtlasUnity. This allows you to add sprite sheet or atlas data to existing textures, or textures that came from external sources, such as SVG files, canvas elements or Dynamic Textures. 2022-09-28 20:34:34 +01:00
Richard Davey
8bfe54287a Updated documentation 2022-09-28 19:53:59 +01:00
Richard Davey
676f0db838 Added Stamp 2022-09-28 19:53:49 +01:00
Richard Davey
0e57db40d4 Improved docs 2022-09-28 19:09:35 +01:00
Richard Davey
f9ecb2461b Update DynamicTexture.js 2022-09-28 17:51:09 +01:00
Richard Davey
d64878736f Testing out the new DynamicTexture 2022-09-27 23:39:23 +01:00
Richard Davey
d3de5ef1e4 SceneManager.systemScene` is a new property that is set during the game boot and is a system Scene reference that plugins and managers can use, that lives outside of the Scene list. 2022-09-27 23:39:04 +01:00
Richard Davey
3dff7f07d2 Tween needs to persist 2022-09-27 21:12:47 +01:00
Richard Davey
951006bf8f Create NineSlice.js 2022-09-27 18:42:50 +01:00
Richard Davey
62f3315b1c Trying DynamicTexture (to replace RenderTexture) 2022-09-27 18:42:46 +01:00
Richard Davey
b13232c211 Moved nineslice out, use multi pipeline and make snapshot functions smaller 2022-09-27 16:59:01 +01:00
Richard Davey
35bae05603 Allow negative offsets 2022-09-27 13:29:34 +01:00
Richard Davey
e15f2414d6 Update TextureManager.js 2022-09-26 23:18:12 +01:00
Richard Davey
90ad29e958 Renamed frameFill to repeat and made it a lot more flexible.
Added resetStamp and removed un-used methods.
2022-09-26 23:18:07 +01:00
Richard Davey
9ca7513b14 Use Tween.callbackScope fix #6229 2022-09-26 21:42:24 +01:00
Richard Davey
291f3049e6 RenderTexture.isDrawing is a new read-only flag that tells if the Render Texture is currently batch drawing, or not. 2022-09-26 18:32:31 +01:00
Richard Davey
3d3db60331 Fixed repeating methods 2022-09-26 18:06:28 +01:00
Richard Davey
af66164302 Testing 9-slice 2022-09-26 18:00:15 +01:00
Richard Davey
1283ca8198 The TextureManager.get methof can now accept a Frame instance as its parameter, which will return the frames parent Texture. 2022-09-26 17:18:04 +01:00
Richard Davey
ff4d7084d9 Update IsPlainObject.js 2022-09-26 17:15:45 +01:00
Richard Davey
3d0d2b4d94 The GameObject#setFrame method can now accept a Frame instance as its parameter, which will also automatically update the Texture the Game Object is using. 2022-09-26 17:15:34 +01:00
Richard Davey
25ab9f329d TextureManager.parseFrame is a new method that will return a Texture Frame instance from the given argument, which can be a string, array, object or Texture instance. 2022-09-26 15:28:41 +01:00
Richard Davey
5320402a07 The endFrame and startFrame properties of the SpriteSheet parser wouldn't correctly apply themselves, the Texture would still end up with all of the frames. It will now start at the given startFrame so that is frame zero and end at endFrame, regardless how many other frames are in the sheet. 2022-09-24 21:35:58 +01:00
Emil Schnedler Vad
340f9d29a1 made seek use less then instead of less or equal 2022-09-23 22:00:30 +02:00
Emil Schnedler Vad
f07042cbc4 BaseTween and TweenChain available from Phaser.Tweens 2022-09-23 20:53:51 +02:00
Emil Schnedler Vad
169faa6b96 made tweenManager# chain use TweenChainBuilderConfig 2022-09-23 13:07:16 +02:00
Richard Davey
ab04cb6c05 Lots of LightPipeline improvements
* The Light Pipeline no longer creates up to `maxLights` copies of the Light shader on boot. Previously it would then pick which shader to use, based on the number of visible lights in the Scene. Now, the number of lights is passed to the shader and branches accordingly. This means rather than compiling _n_ shaders on boot, it now only ever needs to create one.
* You can now have no lights in a Scene, but the Scene will still be impacted by the ambient light. Previously, you always needed at least 1 light to trigger ambient light (thanks jstnldrs)
* The `Light.frag` shader now uses a new `uLightCount` uniform to know when to stop iterating through the max lights.
* The `LightPipeline.LIGHT_COUNT` constant has been removed as it's not used internally.
* The `LightPipeline` previous created a global level temporary vec2 for calculations. This is now part of the class as the new `tempVec2` property.
2022-09-23 00:42:04 +01:00
Richard Davey
a135271f19 Use new uLightCount uniform 2022-09-23 00:41:47 +01:00
Richard Davey
b789742636 Update Utils.js 2022-09-22 14:55:29 +01:00
Richard Davey
9d43583a63 This shader is just better. More crappy iOS testing needed though. 2022-09-21 23:13:04 +01:00
Richard Davey
023343c789 All events have a type of string. Fix #6136 2022-09-21 22:01:03 +01:00
Richard Davey
10fe5db0a6 Fixed jsdocs
Fix #6195
2022-09-21 21:10:52 +01:00
Richard Davey
71703ff19c GameConfig.stableSort is a new optional property that will control if the internal depth sorting routine uses our own StableSort function, or the built-in browser Array.sort one. Only modern browsers have a _stable_ Array.sort implementation, which Phaser requires. Older ones need to use our function instead. Set to 1 to use the legacy version, 0 to use the ES2019 version or -1 to have Phaser try and detect which is best for the browser
Ref #6217
2022-09-21 17:52:57 +01:00
Richard Davey
cf397b7c13 Added missing safariVersion and new es2019 test 2022-09-21 17:35:47 +01:00
Richard Davey
7c9d6a180b Testing native stable sort 2022-09-21 16:34:08 +01:00
Richard Davey
17415902ab The Texture.destroy method will only destroy sources, dataSources and frames if they exist, protecting against previously destroyed instances. 2022-09-21 14:06:58 +01:00
Richard Davey
4dcf3b1622 Getting ready for Beta 11 2022-09-20 23:23:26 +01:00
Richard Davey
6fe41a4845 Fix path 2022-09-20 22:24:27 +01:00
Richard Davey
06b1adca14 Lint fix 2022-09-20 22:23:09 +01:00
Richard Davey
6c70869ea4 Lots of jsdoc / TS fixes 2022-09-20 22:17:21 +01:00
Richard Davey
c5610630a1 Lots of jsdoc fixes and Tween State updates 2022-09-20 18:44:44 +01:00
Richard Davey
2834dba8d0 jsdoc fixes 2022-09-20 17:36:31 +01:00
Richard Davey
a4d7c6d680 Fixed destroy 2022-09-20 16:39:01 +01:00
Richard Davey
ded399e727 Call addFrame 2022-09-20 13:09:01 +01:00
Richard Davey
e42c814af8 Corrected jsdocs 2022-09-20 13:08:53 +01:00
Richard Davey
009ad199bf Updated to use the new BaseTweenData to avoid duplicate props and methods 2022-09-20 12:40:28 +01:00
Richard Davey
e2389927ea Create BaseTweenData.js 2022-09-20 12:40:15 +01:00
Richard Davey
6e0566ced4 Fixed target getting bug 2022-09-19 23:24:23 +01:00
Richard Davey
c6338aab5f Merge branch 'master' of https://github.com/photonstorm/phaser 2022-09-19 22:52:44 +01:00
Richard Davey
09b7901380 Supports making TweenFrameData 2022-09-19 22:52:39 +01:00
Richard Davey
9b70d1c998 Added addFrameData method 2022-09-19 22:52:26 +01:00
Richard Davey
ff8d86c516 Force yoyo for repeat (or it all looks wrong) 2022-09-19 22:52:15 +01:00
samme
cfb92c6957 Give TilemapLayer origin (0, 0) 2022-09-19 08:33:33 -07:00
Richard Davey
ef5f40c1b8 Support TweenFrameData 2022-09-16 18:53:47 +01:00
Richard Davey
4e40a6941a Create TweenFrameData.js 2022-09-16 18:53:35 +01:00
Richard Davey
f7583926cc t1 and t2 don't need to be properties 2022-09-16 18:53:30 +01:00
Richard Davey
d42122d05b Added completeAfterLoop method 2022-09-16 17:50:18 +01:00
Richard Davey
618891bcda The TextureManager.addSpriteSheet method will now allow you to pass in a Phaser Texture as the 2nd parameter. This allows you to add sprite sheet data to textures that came from external sources, such as SVG files or canvas elements. 2022-09-15 22:30:59 +01:00
Richard Davey
0b14cc4898 Update BaseTween.js 2022-09-14 23:22:34 +01:00
Richard Davey
20e8c183c2 Fixed 2022-09-14 22:34:08 +01:00
Richard Davey
fc231a23b2 Fixed path 2022-09-14 14:16:44 +01:00
Richard Davey
de8614356d All method and property jsdocs done 2022-09-13 23:34:19 +01:00
Richard Davey
b419f79b6a Added remove method 2022-09-13 23:34:09 +01:00
Richard Davey
673a7251d4 Make the creation methods a lot more flexible 2022-09-13 22:54:18 +01:00
Richard Davey
94b3e19c75 Remove un-used method 2022-09-13 22:54:02 +01:00
Richard Davey
3429946b13 Update TweenChainBuilder.js 2022-09-13 22:53:51 +01:00
Richard Davey
c05d8d6c6c All method and property docs done. Fixed init, restart and others. 2022-09-13 22:53:45 +01:00
Richard Davey
b8a3cf9232 Extends BaseTween and start delay and lots of other fixes 2022-09-13 18:47:12 +01:00
Richard Davey
a2b349d745 Extends BaseTween 2022-09-13 18:46:57 +01:00
Richard Davey
c6250fe62c Update TweenBuilderConfig.js 2022-09-13 18:46:46 +01:00
Richard Davey
20ff1c99ec add can now take Tween instances and chain uses the new TweenChainBuilder 2022-09-13 18:46:41 +01:00
Richard Davey
de53735e93 Added START_DELAY const 2022-09-13 18:45:20 +01:00
Richard Davey
2c5cdf7023 Removed non-BaseTween methods 2022-09-13 18:45:11 +01:00
Richard Davey
8705f2a606 If you pass in a tween, return it. Also use merged defaults and base type 2022-09-13 18:44:56 +01:00
Richard Davey
1a509fbd98 Create TweenChainBuilder.js 2022-09-13 18:44:36 +01:00
Richard Davey
6c2fc3fcba Working on BaseTween again so Chain can share the features 2022-09-13 13:16:31 +01:00
Richard Davey
bdbadd1339 Update CreateGroupLayer.js 2022-09-12 20:17:11 +01:00
Richard Davey
96203aac19 Swap to use TweenChain 2022-09-12 18:50:01 +01:00
Richard Davey
bfce0c147b Update Tween.js 2022-09-12 18:49:53 +01:00
Richard Davey
0f6977c03e Update TweenChain.js 2022-09-12 18:49:49 +01:00
Jernej Habjan
f8030d5ed8 Lint fixes 2022-09-11 10:34:58 +02:00
samme
1a5320dc08 Rope and Video already on update list 2022-09-10 08:44:43 -07:00
Richard Davey
672fe0c97f Create TweenChain.js 2022-09-08 22:57:50 +01:00
Richard Davey
4e866b6046 onComplete can handle the pending state 2022-09-08 22:57:47 +01:00
Richard Davey
bdce1b255f Update index.js 2022-09-08 21:36:28 +01:00
Richard Davey
5a7949b391 Refactored updated to handle progress better 2022-09-08 18:54:19 +01:00
Jernej Habjan
272f61eda2 Improve visible children performance 2022-09-08 19:18:45 +02:00
Richard Davey
145832ed93 Destroying a WebAudioSound in the same game step as destroying the Game itself would cause an error when trying to disconnect already disconnected Web Audio nodes. WebAudioSound will now bail out of its destroy sequence if it's already pending removal. 2022-09-08 14:53:02 +01:00
Rex
05d4d87b2c Get viewport under a camera 2022-09-08 09:52:18 +08:00
Richard Davey
3f89904040 Fixed a bug where setting repeat and hold would cause the Tween to include one final hold before marking itself as complete. It now completes as soon as the final repeat concludes, not after an addition hold. 2022-09-07 22:40:35 +01:00
Richard Davey
f3d798d4b4 Rename to avoid conflict with tween property of same name 2022-09-07 22:05:40 +01:00
Richard Davey
a2a492bb9f Optimize the update flow with new countdown boolean 2022-09-07 18:49:28 +01:00