Commit graph

166 commits

Author SHA1 Message Date
Richard Davey
fba997d75e If you create a repeating or looping TimerEvent with a delay of zero it will now throw a runtime error as it would lead to an infinite loop. Fix #6225 2022-09-29 15:02:02 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
0fcd785ceb Calling TimerEvent.reset in the Timer callback would cause the timer to be added to the Clock's pending removal and insertion lists together, throwing an error. It will now not add to pending removal if the timer was reset. Fix #5887 2021-10-26 18:23:46 +01:00
Rex
92bedcfeac Check event.callback 2021-10-11 16:12:40 +08:00
Rex
00f998bf0d Check event.callback 2021-10-11 16:04:38 +08:00
Rex
6814d5c6b5 Twist code 2021-10-11 16:03:15 +08:00
Rex
0a1f47c65e Invoke callback many times in very short delay case 2021-10-11 15:44:00 +08:00
Richard Davey
c5f3f377ce Improved JSDocs 2021-04-26 10:05:57 +01:00
samme
6219d27dbc Add TimerEvent methods
- getRemaining()
- getRemainingSeconds()
- getOverallRemaining()
- getOverallRemainingSeconds()
2020-11-11 12:05:14 -08:00
samme
93b5aebdbe Fix undefined TimerEvent
Fixes #5294
2020-09-11 07:45:22 -07:00
Richard Davey
55e56b1eff Clock.addEvent can now take an existing TimerEvent object, as well as a config object. If a TimerEvent is given it will be removed from the Clock, reset and then added. This allows you to pool TimerEvents rather than constantly create and delete them. Fix #4115
`Clock.removeEvent` is a new method that allows you to remove a `TimerEvent`, or an array of them, from all internal lists of the current Clock.
2020-08-26 10:58:06 +01:00
samme
e210de92be Docs: correct TimerEventConfig.startAt default 2020-06-16 10:57:35 -07:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
J.C
9507ec7591 fix ts error, and update the output file. 2019-10-16 13:39:06 +08:00
Richard Davey
8ecab7a1a1 JSDocs fix 2019-06-25 16:56:56 +01:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
173652ea2b Time Types 2019-05-09 12:39:52 +01:00
Richard Davey
6a2397bbae The Clock.now property value is now synced to be the TimeStep.time value when the Clock plugin boots and is no longer Date.now() until the first update 2019-03-26 14:35:14 +00:00
Richard Davey
4fc817c519 Final batch of typedefs 2019-02-13 16:06:00 +00:00
J.C
cff904d74b doc fix: wrong argument type 2019-01-25 11:00:40 +08:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
12bcdbf672 Docs fix 2018-10-25 16:26:34 +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
Richard Davey
a9063604dc Replace @readOnly with @readonly 2018-10-09 13:40:00 +01:00
Richard Davey
5fe6dbbe0c Added more jsdocs 2018-09-13 08:09:44 +01:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01: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
orblazer
ed1f2a7011 Fix wrong types 2018-03-22 13:51:30 +01:00
orblazer
90cf919b10 Fix "object" types on Sound and Time 2018-03-21 15:02:10 +01:00
orblazer
cb708dcc32 Update JSDoc on Textures, Tilemaps and Time 2018-03-19 02:03:17 +01:00
migiyubi
174c982966 Fix TimerEvent.remove behaves opposite to what we expect 2018-03-09 19:47:45 +09:00
Richard Davey
d23688c3e4 Added eslint fixes and overrides 2018-02-16 18:44:07 +00:00
Richard Davey
e1554c34d6 eslint fixes 2018-02-16 18:07:49 +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
Richard Davey
502ebf7068 Added jsdocs 2018-02-10 02:31:42 +00:00
Richard Davey
40689d1e35 Updated jsdocs. 2018-02-07 15:27:21 +00:00
Richard Davey
d9227420b3 Added jsdocs 2018-02-06 01:22:22 +00:00
Richard Davey
2a86400a28 Added in jsdocs 2018-01-31 13:54:44 +00:00
Artem Platonov
3e5a35d796 TimerEvent startAt field not scaled
A note regarding the feature `startAt` of `TimerEvent `

When an event gets added it should be either scaled by clock `timeScale`
as well or not scaled at all - depending on the feature purpose.

```javascript
// preUpdate loop
event.elapsed = event.startAt * event.timeScale
```

In my understanding it should not be influenced by `timeScale` at all.
As a developer I would use the feature of `startAt` to specify the exact
offset for my event.

In case I have looped `Timer` for one second and want to start the first
loop in the middle, I would set the `startAt` to half a second. And
scaling is applied during the timer run time as a factor of speed it
elapses.
2018-01-23 16:34:33 +01:00
Artem
2bf0381821
clock timescale applied to timer 2018-01-23 14:37:25 +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
4240f6c4af Converted to use the new plugin format 2018-01-16 02:08:22 +00:00