Commit graph

381 commits

Author SHA1 Message Date
Richard Davey
fb765a47c4 Update TweenBuilder.js 2022-07-26 02:14:06 +01:00
Richard Davey
bb22e539b7 Still refactoring tweens. Almost there. 2022-07-25 19:22:29 +01:00
Richard Davey
15d5874cde Carrying on refactoring the tween system to be immediate 2022-07-20 18:45:17 +01:00
Richard Davey
f617e73498 Testing refactoring the Tween system to use a single list 2022-07-18 18:49:58 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Adam Templeton
1ead3ecd7d tween reset fix 2022-01-28 12:18:22 -06:00
Richard Davey
f7d81c4bd1 The default Tween._pausedState has changed from INIT to PENDING_ADD. This fixes a bug where if you called Tween.play immediately after creating it, it would force the tween to freeze. Fix #5454 2021-10-29 18:49:49 +01:00
Richard Davey
5e2c00e69f Calling Tween.reset when a tween was in a state of PENDING_REMOVE would cause it to fail to restart. It now restarts fully. Fix #4793 2021-10-29 18:26:13 +01:00
Richard Davey
5a1be5d07d TweenManager.reset is a new method that will take a tween, remove it from all internal arrays, then seek it back to its start and set it as being active. 2021-10-29 18:25:14 +01:00
Richard Davey
9db0b98228
Merge pull request #5757 from samme/fix/tween-setCallback
Correct use of Tween#setCallback() and Timeline#setCallback()
2021-09-20 11:31:09 +01:00
samme
0882e03fce Remove obsolete comment 2021-06-27 11:53:30 -07:00
samme
9e6dc57063 Correct use of tween/timeline setCallback()
Fixes #5753
2021-06-26 17:30:24 -07:00
Richard Davey
9066f756f9 Made it clear a Tween will not update _ properties. Fix #5747 2021-06-18 18:06:58 +01:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
3f511a73cd Replace integer[] with number[] 2020-11-23 10:23:10 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
cf17dbe7e9 Previously, the easeParams array within a Tweens props object, or a multi-object tween, were ignored and it was only used if set on the root Tween object. It will now work correctly set at any depth. Fix #4292 2020-09-02 22:27:40 +01:00
Richard Davey
ab83fd7e38 Tween.seek will no longer issue a console warning for 'Tween.seek duration too long', it's now up to you to check on the performance of tween seeking. 2020-08-26 13:50:54 +01:00
Richard Davey
8c55fc7ee2 TweenManager.getTweensOf has a new parameter includePending. If set, it will also check the pending tweens for the given targets and return those in the results as well. Fix #5260 2020-08-20 10:22:35 +01:00
Richard Davey
7d1ca6815f Lint fixes 2020-07-13 14:16:52 +01:00
Richard Davey
1e0a25705e
Merge pull request #5186 from samme/feature/empty-timeline-config
Configure timeline without tweens
2020-07-13 12:45:08 +01:00
Richard Davey
7b7d897858
Merge pull request #5185 from samme/feature/tween-stop-event
Add tween 'stop' event and 'onStop' callback
2020-07-13 12:44:26 +01:00
samme
3368d1e54a Docs: punctuation 2020-06-06 12:15:38 -07:00
samme
3c62cb3eb5 Configure timeline without tweens 2020-06-06 11:44:40 -07:00
samme
51779a80aa Docs: tween onStop, etc. 2020-06-06 11:21:23 -07:00
samme
de4943a407 Add tween 'stop' event and 'onStop' callback 2020-06-06 11:21:23 -07:00
samme
e091aecead Docs: Phaser.Tweens.Tween#callbacks
Tween#stop() does not invoke onComplete
2020-06-01 09:38:34 -07:00
J.C
d8dc7fb4d7 TS def improvements 2020-03-02 20:14:25 +08:00
Richard Davey
392c52fa8b Update GetEaseFunction.js 2020-01-20 23:34:40 +00:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Richard Davey
47ae9eaadc Exposed StaggerBuilder and added missing param to JSDocs 2020-01-13 22:35:40 +00:00
Richard Davey
e861ecf5a0 Emit the current and previous values 2020-01-07 23:57:08 +00:00
Richard Davey
1a69cd9e0f TweenData now stores its previous ease value. 2020-01-07 23:56:39 +00:00
Richard Davey
736fd6dfb9 Added TWEEN_UPDATE current and previous values 2020-01-07 23:56:15 +00:00
samme
482757c1a8 Fix bad parameter in Timeline callbacks and events
Fixes #4810
2019-11-19 15:37:25 -08:00
Richard Davey
e5f93738ca
Merge pull request #4807 from jcyuan/master
fix TS issues and fix the condition to check video support.
2019-11-19 10:49:09 +00:00
Richard Davey
9ff331e10e
Merge pull request #4829 from jsoref/spelling
Spelling
2019-11-18 21:47:26 +00:00
Richard Davey
50d9931c11 Added cached MIN/MAX SAFE INT for IE support #4833 2019-11-18 17:01:55 +00:00
Josh Soref
f21c3f4e07 spelling: yoyo'ing 2019-10-29 02:43:09 -04:00
Josh Soref
e57d5fcf2f spelling: repeated 2019-10-29 02:33:37 -04:00
J.C
94648e4c0d ts fix for TweenManager 2019-10-16 13:59:15 +08:00
Richard Davey
9ea3eb1abd Added getValue method back and updated it 2019-10-11 18:15:44 +01:00
Richard Davey
619cd7a9d6 Docs update 2019-10-02 17:32:06 +01:00
Richard Davey
a3469ad37e The Tween.getValue method has been removed. It was a legacy function from Phaser 2 and always only returned the first TweenData from the data array, ignoring any subsequent properties or targets, making it redundant. Fix #4717 2019-10-02 17:25:00 +01:00
Richard Davey
107bccf105 Tween.updateTo would break out of the TweenData iteration as soon as it adjusted the first matching key, causing tweens acting on multiple targets to only update the first target. It now updates them all. Fix #4763 2019-09-26 12:46:55 +01:00
Richard Davey
5a255eceed Fixed Tween Event defs. Fix #4666 2019-08-07 13:46:50 +01:00
Richard Davey
8288eeb899 Updated docs 2019-07-02 12:13:43 +01:00
Richard Davey
41a6592c1e Swapped default state flag. Fix #4632 2019-07-02 12:13:34 +01:00
Richard Davey
d404a5d658 Update StaggerConfig.js 2019-07-01 17:10:38 +01:00
Richard Davey
77e830a557 Starting on docs 2019-07-01 14:56:56 +01:00
Richard Davey
52c0c85cb6 Fixed eased range grid stagger 2019-07-01 12:49:02 +01:00
Richard Davey
2b713b0038 Pre-calc the grid values 2019-07-01 12:19:05 +01:00
Richard Davey
95ad802c27 Getting Grid Range working 2019-06-30 16:59:58 +01:00
Richard Davey
2f60afe8f7 Finished all non-grid options, including proper ease, range and direction 2019-06-29 11:26:26 +01:00
Richard Davey
adaa5893ea Grid working properly with static value and range 2019-06-28 19:35:54 +01:00
Richard Davey
7222a53a23 Update StaggerBuilder.js 2019-06-28 18:08:32 +01:00
Richard Davey
bf592808f3 Use the TweenData.index property now. Much cleaner. 2019-06-28 18:08:26 +01:00
Richard Davey
58f076a125 TweenData now holds the target index and has a new signature 2019-06-28 18:02:18 +01:00
Richard Davey
496ac0f979 Supports ranged staggers 2019-06-28 17:42:34 +01:00
Richard Davey
5203be3189 More accurate types 2019-06-28 17:42:16 +01:00
Richard Davey
293c28b83c LoadValue functions now take new arguments and updated types and docs 2019-06-28 17:42:03 +01:00
Richard Davey
4baf88b8d1 Updated comments 2019-06-28 17:20:57 +01:00
Richard Davey
864c484856 'start', 'from' and 'ease' all working 2019-06-28 14:38:48 +01:00
Richard Davey
70368a8808 Removed commented-out code 2019-06-28 12:22:14 +01:00
Richard Davey
bafc771f85 Stagger function change 2019-06-28 12:22:05 +01:00
Richard Davey
594d75c26a Much more flexible in allowing the ease string input format 2019-06-28 12:21:52 +01:00
Richard Davey
422fbec238 Added this argument 2019-06-27 23:35:58 +01:00
Richard Davey
2d82eca8c5 Added start of StaggerBuilder 2019-06-27 17:14:39 +01:00
Richard Davey
d0f1e5ca28 Added new typedefs for getActive 2019-06-27 16:28:16 +01:00
Richard Davey
23d1c0e1c7 Now supports from, to and start Tween config objects 2019-06-27 16:16:37 +01:00
Richard Davey
4f344efd22 Refactored the updateTweenData method so force start/end values, support getActive and use more local vars 2019-06-27 16:16:14 +01:00
Richard Davey
ea03f81ec1 Added new optional getActive function 2019-06-27 16:15:26 +01:00
Richard Davey
7b9b264146 Added dispatchTimelineEvent method and improved docs 2019-06-27 13:04:32 +01:00
Richard Davey
f7d2410a76 JSDoc fix 2019-06-27 13:04:14 +01:00
Richard Davey
cf51e1a551 Removed loopCounter value as it was incorrect 2019-06-27 13:04:07 +01:00
Richard Davey
f3200ec3d1 Added isSeeking flag and consolidated all the event and callback handling into two methods. 2019-06-27 12:41:37 +01:00
Richard Davey
46b56c4d2b All changes to Tween.state are now set _before_ any events or callbacks, allowing you to modify the state of the Tween in those handlers 2019-06-27 12:02:45 +01:00
Richard Davey
9582a21d4f Tween JSDocs complete 2019-06-27 11:50:24 +01:00
Richard Davey
34bf26592e Fixed missing loop callback 2019-06-27 01:37:36 +01:00
Richard Davey
aad9d38e13 You can now specify easeParams for any custom easing function you wish to use. Fix #3826 2019-06-27 01:06:25 +01:00
Richard Davey
eeb02c69b4 Finished all the new Tween Events 2019-06-27 01:00:37 +01:00
Richard Davey
5e4e6ca49f Tween.seek has been rewritten so you can now seek to any point in the Tween, regardless of repeats, loops, delays and hold settings. Fix #4409 2019-06-26 23:17:52 +01:00
Richard Davey
bd99ff36d8 New onActive callback 2019-06-26 17:45:32 +01:00
Richard Davey
c1578012c0 Tween now extends EventEmitter
Also added startDelay, hasStarted and new onActive callback. onStart now only fires when the Tween actually starts tweening. Lots of debug stuff left to remove.
2019-06-26 17:45:01 +01:00
Richard Davey
c89fac2288 Adding new Tween events 2019-06-26 17:43:43 +01:00
Richard Davey
d97fb97cf6 Typo 2019-06-26 00:36:47 +01:00
Richard Davey
ae591c1c34 Timeline.setTimeScale would only impact the Timeline loop and completion delays, not the actively running Tweens. It now scales the time for all child tweens as well. Fix #4164 2019-06-19 12:34:41 +01:00
Richard Davey
6d173434eb Looped Tween Timelines would mess-up the tween values on every loop repeat, causing the loop to fail. They now loop correctly due to a fix in the Tween.play method. Fix #4558 2019-06-19 12:23:24 +01:00
Richard Davey
bb27213f12 Improved jsdocs 2019-06-19 11:25:33 +01:00
Richard Davey
8f22f37dca Tween.restart wouldn't restart the tween properly. Fix #4594 2019-06-19 11:05:27 +01:00
samme
d9ecd70f59 Add TimelineBuilderConfig type and callbacks 2019-06-03 12:12:01 -07:00
samme
3ebd1839eb Docs for Tween 2019-06-03 12:09:04 -07:00
samme
0306aab176 Docs for Timeline 2019-06-03 12:08:45 -07:00
samme
8410f6b131 Add types for tween props configs 2019-06-01 10:24:15 -07:00
samme
8f2e774c4b Correct ease type 2019-05-30 16:11:34 -07:00
samme
7a98fe6d8a Add tween callbacks 2019-05-29 11:42:19 -07:00
samme
d6b3141b8b Add the remaining tween config properties 2019-05-29 10:45:55 -07:00
samme
a1e8668aee Extra properties for tween configs 2019-05-29 10:42:30 -07:00
samme
5018061751 Add NumberTweenBuilderConfig type 2019-05-28 13:13:39 -07:00
samme
c7af250100 Add TweenBuilderConfig type 2019-05-28 11:44:43 -07:00
Richard Davey
9f1946ec45 Tweens created in a paused state couldn't be started by a call to play. Fix #4525 2019-05-14 09:37:26 +01:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
0a0330bdfc Tween Types 2019-05-09 12:40:41 +01:00
Richard Davey
2d3c905f53 Calling Tween.play on a tween that had already finished and was pending removal will stop the tween from getting stuck in an isPlaying state and will restart the tween again from the beginning. Calling play on a Tween that is already playing does nothing. Fix #4184 2019-04-08 16:25:31 +01:00
Richard Davey
e9c34c73a8
Merge pull request #3923 from Edwin222/comment
Fix a bug that tween delay doesn't applied after one loop of timeline(issue #3841)
2019-04-08 13:00:10 +01:00
Richard Davey
ded1320e8e Fixed issue with multiple calls to Tween.restart 2019-04-08 12:58:03 +01:00
Richard Davey
e53a0a1de2
Merge pull request #4087 from TadejZupancic/patch-1
Tween inside Timeline fix
2019-04-08 12:13:27 +01:00
Richard Davey
cd8fb4217a Tweens created with a duration of zero will now render for one frame before completing. Fix #4235 2019-04-08 11:18:42 +01:00
Richard Davey
bc10276b9e
Merge pull request #4449 from kyranet/patch-2
fix: Inconsistent return in TweenManager#makeActive()
2019-04-05 17:18:23 +01:00
Antonio Román
a55b106f12
fix: Inconsistent return in TweenManager#makeActive() 2019-03-28 13:06:19 +01:00
Antonio Román
e2a0c091ce
fix: Inconsistent return in Tween#pause() 2019-03-28 01:03:29 +01:00
Richard Davey
0897b78f8a Added remove method to fully nuke a tween from the manager. 2019-03-15 10:30:50 +00:00
Richard Davey
a799f5abf0 Added Tween.remove method. 2019-03-15 10:30:31 +00:00
Richard Davey
4fc817c519 Final batch of typedefs 2019-02-13 16:06:00 +00:00
Richard Davey
c85497b6c5 Fixing jsdocs 2019-02-12 11:59:31 +00:00
Richard Davey
ccaae460a4 Added jsdoc version numbers to each event 2019-02-12 11:37:58 +00:00
Richard Davey
a9d6951660 A Tween Timeline will now set it's internal destroy state _before_ calling either the onComplete callback or sending the COMPLETE event. This means you can now call methods that will change the state of the Timeline, such as play, during the callback handlers, where-as before doing this would have had the internal state changed immediately, preventing it 2019-01-30 15:49:08 +00:00
Richard Davey
9d5612c6df Added missing jsdocs 2019-01-23 23:49:04 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
550c9bb50e Added Timeline Events. 2019-01-17 18:38:48 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
2780babe10 Final Doc Jam merge 2018-12-03 15:16:23 +00:00
Richard Davey
db0be54737 Fixed breaking Tween loop change and implemented PathFollower startAt in a slightly different way 2018-11-21 10:17:48 +00:00
Richard Davey
8cd45a72b2 ESLint fixes 2018-11-20 11:02:19 +00:00
Diego Teixeira
1cbceb215d
Setting initial current
Setting initial current location
2018-11-19 16:24:53 -02:00
Diego Teixeira
1db9e15a76
Getting startAt
Getting startAt config and using for current
2018-11-19 16:14:48 -02:00
Richard Davey
956a0913b8 Added new jsdocs 2018-10-22 12:12:31 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
TadejZupancic
5a93c7b474
Tween inside Timeline fix
The stop method in Tween assumed, that tween's parent was TweenManager. If the Tween has been added to the Timeline, that was not true and the stop method crashed.
2018-10-04 15:38:46 +02:00
Richard Davey
e297b3272e Added hundreds of new jsdoc descriptions 2018-10-01 11:35:01 +01:00
Richard Davey
b687f051e9 Added new jsdocs 2018-09-28 15:00:55 +01:00
Richard Davey
5fe6dbbe0c Added more jsdocs 2018-09-13 08:09:44 +01:00
Richard Davey
0436f1ff6d If you flagged a Tween as paused in its config, never started it, and then called Tween.stop it wouldn't ever be removed from the _pending array. It's now moved to the Tween Manager's destroy list, ready for removal on the next frame. Fix #4023 2018-09-12 14:54:08 +01:00
Edwin222
f44291133f Fix a bug that tween delay doesn't applied after one loop of timeline 2018-08-13 20:01:48 +09:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
Chris Andrew
4b5ab4e217 Documented most of the remaining PathFollower descriptions. 2018-06-21 13:19:52 +01:00
Richard Davey
e5fbcd5574 Calling Tween.play on a tween created via TweenManager.create wouldn't actually start playback until the tween was first added to the Tween Manager. Now, calling play will have it automatically add itself to the Tween Manager if it's not already in there. Fix #3763 2018-06-19 12:28:29 +01:00
cyantree
e578cd55fa Fixed endless loop in TweenManager.getTweensOf() 2018-06-01 01:25:46 +02:00
Richard Davey
350cb037b7 All systems now register themselves with the new PluginCache 2018-05-15 12:51:50 +01:00
Richard Davey
be330e609e Moved PluginManager to new location 2018-05-10 17:14:33 +01:00
Richard Davey
1be486fab4 destroy only called once, no matter how many times the Scene restarts. Fix #3581 2018-04-17 12:25:45 +01:00
Richard Davey
ce7d67297f Moving from 3.4.1 to 3.5.0 so we can release new camera fx and scene transitions 2018-04-15 12:44:47 +01:00
Richard Davey
6b2307594a Scene plugin flow overhaul
Every Plugin has been updated to correctly follow the same flow through the Scene lifecycle. Instead of listening for the Scene 'boot' event, which is only dispatched once (when the Scene is first created), they will now listen for the Scene 'start' event, which occurs every time the Scene is started. All plugins now consistently follow the same Shutdown and Destroy patterns too, meaning they tidy-up after themselves on a shutdown, not just a destroy. Overall, this change means that there should be less issues when returning to previously closed Scenes, as the plugins will restart themselves properly.
2018-04-13 17:12:17 +01:00
Antriel
47dc14079b fix Timeline#destroy 2018-04-10 14:19:51 +02:00
Richard Davey
833355a9a4 Tween.resume will now call Tween.play on a tween that was paused due to its config object, not as a result of having its paused method called. Fix #3452 2018-04-09 13:25:20 +01:00
Travis O'Neal
edb81c9096 Tween.Restart adds Tween back to the active list for the TweenManager to properly process and replay 2018-03-30 11:24:36 -04:00
Richard Davey
06998276ec Removed stict mode warning 2018-03-28 16:00:19 +01:00
Richard Davey
747f09af86 jsdoc fixes 2018-03-28 15:04:09 +01:00
Richard Davey
b3965fb5a2 Added TweenData type def 2018-03-21 16:23:48 +00:00
Richard Davey
a2352f2049 Renamed tween config defaults 2018-03-21 15:17:53 +00:00
orblazer
7fba122321 Fix "any" types 2018-03-20 17:15:49 +01:00
orblazer
44103dc475 Fix remaining multiple types 2018-03-20 16:12:42 +01:00
orblazer
454849d67d Update JSDoc on Tweens and Utils 2018-03-19 02:07:03 +01:00
Richard Davey
4ab98eb492 The TweenManager will now check the state of a tween before playing it. If not in a pending state it will be skipped. This allows you to stop a tween immediately after creating it and not have it play through once anyway. Fix #3405 2018-03-16 14:31:49 +00:00
Richard Davey
a524dc44b0 Expose constants. Fix #3387 2018-03-16 13:29:30 +00:00
Allan Reyes
a08c75bb06 Delegate Timeline#makeActive to TweenManager
This fixes a bug when calling Timeline#resetTweens() while the tweens
are pending removal or completed. Delegating the #makeActive method
here was chosen to:
- Follow "tell, don't ask" (pragprog.com/articles/tell-dont-ask)
- Prevent an additional branch conditional in Tween.js
- Prevent a Law of Demeter violation, e.g.

        // src/tweens/tween/Tween.js
        if (this.parentIsTimeline) // "asking"
        {
            this.parent.manager.makeActive(this); // LoD violation
        }
        else
        {
            this.parent.makeActive(this);
        }
2018-03-12 09:31:00 -07:00
Richard Davey
a89be7abc5 Tween.complete will allow you to flag a tween as being complete, no matter what stage it is at. If an onComplete callback has been defined it will be invoked. You can set an optional delay before this happens (thanks @Jerenaux for the idea)
Fix #3280
2018-02-28 21:14:56 +00:00
Richard Davey
997338c35b jsdoc fixes 2018-02-22 01:52:11 +00:00
Richard Davey
147dec11ab Tween.updateTweenData will now check to see if the Tween target still exists before trying to update its properties. 2018-02-22 01:50:36 +00:00
Richard Davey
e1554c34d6 eslint fixes 2018-02-16 18:07:49 +00:00
Richard Davey
6a9ac033e2 Fixed call to TweenManager.makeActive. Fix #3219 2018-02-13 21:55:07 +00:00
Richard Davey
eec13883e0 Removed rogue Tween emit calls. Fix #3222 2018-02-13 21:45:21 +00:00
Richard Davey
2813ac8162 Moved PluginManager and merged configs into single root file for easier changing. 2018-02-12 23:03:48 +00:00
Richard Davey
d1f5f8a82b Added jsdocs 2018-02-12 16:01:21 +00:00
Greg
e9897c31f9 #3190 Tweens/Timeline parent.makeActive missing 2018-02-10 20:45:32 -05:00
Richard Davey
2dda99c1ab Added jsdocs 2018-02-10 17:51:02 +00:00
Richard Davey
5f39206f35 Added jsdocs 2018-02-10 17:40:40 +00:00
Richard Davey
da88485bc7 Added jsdocs 2018-02-10 17:14:35 +00:00
Richard Davey
38b6d2834b Added jsdocs 2018-02-10 17:11:36 +00:00
Richard Davey
2ece55c28e Renamed folder to match namespace 2018-02-10 14:56:08 +00:00
Richard Davey
bc87630d61 Added jsdocs. 2018-02-09 18:03:39 +00:00
Richard Davey
2a86400a28 Added in jsdocs 2018-01-31 13:54:44 +00:00
Antriel
975b2b59ca Fixed Tween.resume/pause. 2018-01-26 10:25:13 +01:00
Richard Davey
2deb9edc9e Plugins now check to see if the Scene is already booted and adapt accordingly. 2018-01-18 14:00:31 +00:00
Richard Davey
5a333bc2fd Updated to new Plugin format, removed injection and mapping 2018-01-18 05:18:09 +00:00
Richard Davey
f9a7939812 Lots of work migrating to the new plugin system, fixing references and exposing on the namespace 2018-01-16 22:28:29 +00:00
Richard Davey
8e07320596 Migrating to plugins 2018-01-16 19:49:13 +00:00
Richard Davey
7e5163adf0 Merged source. 2018-01-16 16:43:38 +00:00
Richard Davey
9a2eb0eb58 Merged source. 2018-01-16 16:37:34 +00:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00