Commit graph

8337 commits

Author SHA1 Message Date
Richard Davey
b951809791 Fixed children reference 2018-01-20 16:21:28 +00:00
Richard Davey
134c67a51b Split into base class and plugin extension so other classes can use them too 2018-01-20 16:21:12 +00:00
Richard Davey
e1609fc866 Allowed dist folder to npm and removed wip folder 2018-01-20 14:33:30 +00:00
Richard Davey
d9da905230 Added XBox360 Controller config (closes #3175) 2018-01-20 14:25:28 +00:00
Richard Davey
05b45f1f9c Added keycodes (closes #3174) 2018-01-20 14:22:41 +00:00
Richard Davey
f676fc2bbd Recoded the SceneManage
The Scene Manager no longer tries to maintain an 'active' list and instead just iterates the scenes in order, skipping those that aren't awake. Scene array changing events like moveUp etc are queued if the list is being processed and the ScenePlugin has been vastly updated to take care of this. You can now happily move scenes around the list, block scene input, consume input events, switch scenes around and more.
2018-01-20 04:47:03 +00:00
Richard Davey
2b4d6f17c8 Removed unused consts 2018-01-20 04:45:27 +00:00
Richard Davey
39b1f35a20 Removed call to render and tidied up a little 2018-01-20 04:45:14 +00:00
Richard Davey
4e05ad0655 The Input system will now order input based on the scenes from top to bottom
If the global top only flag is on and a scene consumes an input event then they won't flow any further down the scene list. This is optional (but on by default), allowing you to now correctly create a UI Scene above a game scene without the input events polluting one to the other.
2018-01-20 04:44:54 +00:00
Richard Davey
864fa638af Added LoadArray back in and sorted out callback passing. 2018-01-19 19:13:27 +00:00
Richard Davey
2f1ee57505 Fixed event handler. 2018-01-19 19:13:11 +00:00
Richard Davey
1d22f5a59a File has a reference to its Loader, will also now emit progress events on itself. 2018-01-19 19:13:02 +00:00
Richard Davey
4473af243b Frames can now have customData stored in them, as well as the Textures. This is populated by all of the atlas data by default and can be added to, either in the JJSON source files or at run-time. Closes #3165. 2018-01-19 18:23:25 +00:00
Richard Davey
7577f470ae You can now pass in a JS object to the JSON Loader instead of a URL. It will use the object to populate the data with. This impacts any loader type that uses json, so atlas, tilemap, audio sprite, etc. Closes #3147. 2018-01-19 17:53:07 +00:00
Richard Davey
76c7639b20 If a file load 404s then handle this case, as it'll return the 404 page as the response type which will then try to be parsed. 2018-01-19 17:29:14 +00:00
Richard Davey
f3d9f145a6 Fixed flow error when the Loader would never complete if every single file failed. 2018-01-19 17:28:48 +00:00
Richard Davey
8c3422f2b4 BaseURL adds trailing slash if missing. 2018-01-19 17:10:23 +00:00
Richard Davey
7c7336dd30 Loader.reset gets path and baseURL again. 2018-01-19 17:07:38 +00:00
Richard Davey
7e0b04df70 You can now specify Loader settings (baseURL, path, xhr settings, etc) in either the Game Config, the Scene Config or a File Config. Game config is used as the defaults. Scene config overrides those, and a File config overrides the Scene config. This fixes #3168. 2018-01-19 16:56:41 +00:00
Richard Davey
faf89ea78a getTextureKeys method added to return all loaded textures. 2018-01-19 16:30:05 +00:00
Richard Davey
25089f66fd Scene will now be made active as soon as it has init'd, not after the load is complete. This allows a scene to render while loading assets. 2018-01-19 16:30:05 +00:00
Richard Davey
57444596e5 Loader now emits a progress event which can be used for progress bar loaders, etc. Also added setBasePath and removed console logs. 2018-01-19 16:30:04 +00:00
Richard Davey
13ed054d79 Removed display of checksum. 2018-01-19 16:30:03 +00:00
Pavle Goloskokovic
ac7be301f1 Reverting previous commit since it did not fix the issue 2018-01-19 17:12:49 +01:00
Pavle Goloskokovic
d50c04e9f8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/loader/filetypes/AudioFile.js
2018-01-19 16:30:43 +01:00
Pavle Goloskokovic
999b7d96df skipping looping and ending logic if current time is 0 since some HTML5 Audio implementations set currentTime value to 0 when changing playback rate or performing any other operation on an audio tag object 2018-01-19 16:24:26 +01:00
Richard Davey
e2d71e2c6d BaseLoader renamed LoaderPlugin, const updated, index updated. 2018-01-19 14:54:50 +00:00
Richard Davey
4aa6e931f1 Merging Loader into BaseLoader 2018-01-19 14:47:25 +00:00
Richard Davey
b58814e8d7
Merge pull request #3172 from Antriel/master
Added missing require for Point.
2018-01-19 14:05:55 +00:00
Richard Davey
e18858010c Tidying up before merging with BaseLoader. 2018-01-19 13:52:03 +00:00
Richard Davey
f5462146e2 Added MultiAtlas loader. 2018-01-19 13:51:53 +00:00
Richard Davey
8983c93fc6 Added AudioSprite loader. 2018-01-19 13:51:12 +00:00
Richard Davey
db515d8724 All FileTypes now register themselves with the FileTypesManager, allowing devs to specify which loaders are included in their builds. 2018-01-19 13:29:26 +00:00
Richard Davey
676c5be1da Added global FileTypes manager. 2018-01-19 13:29:25 +00:00
Richard Davey
fd4cae12fc Removed un-used file. 2018-01-19 13:29:24 +00:00
Antriel
df7bc2e841 Added missing require for Point. 2018-01-19 14:20:45 +01:00
Michael Hadley
a6365c5339 Removing es6 'let' from AP vs tilemap 2018-01-19 06:56:52 -06:00
Pavle Goloskokovic
f7b0dcf56a Inverted condition to prevent nesting 2018-01-19 12:19:02 +01:00
Pavle Goloskokovic
ff8c039cf7 Inverted condition to prevent nesting 2018-01-19 12:17:34 +01:00
Pavle Goloskokovic
f019b8ad75 Merge remote-tracking branch 'origin/master' 2018-01-19 12:08:40 +01:00
Pavle Goloskokovic
fb96aeccd6 Removed game reference 2018-01-19 12:06:41 +01:00
Pavle Goloskokovic
4bb8557081 Updated reference to the game object 2018-01-19 12:06:11 +01:00
Richard Davey
fb7cdbf29b Added ability to load plugins from external files and have them register with the PluginManager. 2018-01-18 16:48:25 +00:00
Pavle Goloskokovic
e889de2c20 Merge remote-tracking branch 'origin/master' 2018-01-18 16:09:29 +01:00
Richard Davey
d46662cd46 Swapped to using Number.MAX_VALUE so repeat -1 now works properly in IE11 and below. 2018-01-18 14:59:32 +00:00
Richard Davey
86fe054c63 Game boot sequence is now split-up to allow time for non-blocking, but time sensitive plugins (like the Texture Manager) to complete starting up before the main loop begins. Texture Manager now checks on state of default images before telling Game it is ready. 2018-01-18 14:01:29 +00: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
69dbe38c9f Scene.Systems keeps track of it's booted, so plugins know how to respond to the boot event (or not). You can now also load a plugin into a Scene at runtime. 2018-01-18 13:59:37 +00:00
Pavle Goloskokovic
8968044d8f Removed ready event 2018-01-18 14:15:15 +01:00
Pavle Goloskokovic
ca614166b1 Using playCatchPromise for delayed sound playback 2018-01-18 14:14:14 +01:00