Commit graph

4257 commits

Author SHA1 Message Date
Richard Davey
f9cc2a9714 Scene now sets a status flag for every state it goes through, allowing the manager to know when to allow updating and rendering 2018-01-20 16:22:40 +00:00
Richard Davey
a5a112114b Added blitter coordinates to bob output 2018-01-20 16:21:59 +00:00
Richard Davey
d220634fb6 Added helper methods for flip, visible and alpha 2018-01-20 16:21:42 +00:00
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
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
Pavle Goloskokovic
3a7d06b48a Using playCatchPromise when starting sound playback 2018-01-18 14:13:57 +01:00
Pavle Goloskokovic
ef98de7258 Added playCatchPromise method to handle possible exceptions thrown form audio tag play method 2018-01-18 14:13:29 +01:00
Pavle Goloskokovic
c1cb3c3ab2 Removing touchmove event listener on successful unlock 2018-01-18 14:12:32 +01:00
Pavle Goloskokovic
336f5b9028 Skipping unlocking if touchmove event occurred before touchend event 2018-01-18 14:11:49 +01:00
Pavle Goloskokovic
b036eecd9f Added detectMove method as touchmove event listener 2018-01-18 14:10:51 +01:00
Pavle Goloskokovic
01c246ac0b Added variable and method for keeping track of touch move events 2018-01-18 14:10:03 +01:00
Pavle Goloskokovic
718dce88b8 Setting correct totalDuration property value for all sounds when audio gets unlocked 2018-01-18 14:08:49 +01:00
Pavle Goloskokovic
9400c7ea93 Setting correct duration property value for all sounds when audio gets unlocked 2018-01-18 14:08:33 +01:00
Pavle Goloskokovic
c296ef2eb3 Emitting ready event when sound manager gets unlocked 2018-01-18 14:07:35 +01:00
Pavle Goloskokovic
58d6ab9a56 Emitting ready event if sound manager is not locked 2018-01-18 14:06:29 +01:00
Pavle Goloskokovic
345f112ff8 Renamed touchLocked to locked 2018-01-18 14:05:20 +01:00
Pavle Goloskokovic
b61a4dec66 Passing sound manager locked property value instead of touchLocked to HTML5AudioFile constructor 2018-01-18 14:04:41 +01:00
Richard Davey
3bb6099c6d Fixed key issue 2018-01-18 05:33:54 +00:00
Richard Davey
5461471bf3 Added ucfirst equivalent 2018-01-18 05:33:42 +00:00
Richard Davey
92e62b9368 Updated PluginManager to support installation and injection of global and local plugins 2018-01-18 05:21:14 +00:00
Richard Davey
c8d859c6a4 Systems now does everything based on events and config files, no more creation of its own plugins 2018-01-18 05:20:57 +00:00
Richard Davey
43d7e0fa0e Exposed the global and core plugins and updated the injection map 2018-01-18 05:20:33 +00:00
Richard Davey
53ec770696 Renamed to the correct class name: ScenePlugin 2018-01-18 05:20:00 +00:00
Richard Davey
0a523062f5 Exposed the Scene files via their own export 2018-01-18 05:19:42 +00:00
Richard Davey
dc3093ef56 Removed trailing slash 2018-01-18 05:19:17 +00:00
Richard Davey
abdbe2d1ee EE registered as a plugin 2018-01-18 05:19:00 +00:00
Richard Davey
776d178b38 Scene settings now checks for a plugins array 2018-01-18 05:18:45 +00:00
Richard Davey
5a333bc2fd Updated to new Plugin format, removed injection and mapping 2018-01-18 05:18:09 +00:00
Richard Davey
e017a71f32 Game emits a boot event, which its managers listen for 2018-01-18 05:16:52 +00:00
Richard Davey
3ba774997d Config now gets the DefaultScenePlugins 2018-01-18 05:16:02 +00:00
Richard Davey
31882e5b48 Method returns array of objects instead of array of arrays 2018-01-18 01:03:15 +00:00
Richard Davey
9cdd359327 Constructors no longer call setTo and getPointAB return object properties updated to x/y 2018-01-18 01:02:51 +00:00
Richard Davey
7458574d35 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-01-18 00:59:41 +00:00
Richard Davey
dbfd73dea1 Pointer.reset no longer resets the isDown state or buttons 2018-01-18 00:59:38 +00:00
Michael Hadley
fd8cad1fb6 Add Impact method for loading collision map from Weltmeister file 2018-01-17 18:50:00 -06:00
Michael Hadley
821eae6eee Bug fix: weltmeister parser 2018-01-17 18:38:55 -06:00
Michael Hadley
2e68f2507d Added Weltmeister support to Loader & Tilemap API 2018-01-17 18:34:00 -06:00
Michael Hadley
72a14df466 Shortened Tilemap format names 2018-01-17 18:34:00 -06:00
Richard Davey
80fd5d9845 Moved camera controls to their own namespace 2018-01-18 00:08:38 +00:00
Pavle Goloskokovic
6be1406b8b Renamed locked action name property to prop 2018-01-17 19:16:21 +01:00
Pavle Goloskokovic
252b577ab4 Using manager.isLocked instead of removed checkTouchLocked method for loop property 2018-01-17 19:15:09 +01:00
Pavle Goloskokovic
25f22533fd Using manager.isLocked instead of removed checkTouchLocked method for seek property 2018-01-17 19:14:55 +01:00
Pavle Goloskokovic
216bde9577 Using manager.isLocked instead of removed checkTouchLocked method for detune property 2018-01-17 19:14:43 +01:00
Pavle Goloskokovic
99c9b786c8 Using manager.isLocked instead of removed checkTouchLocked method for rate property 2018-01-17 19:14:33 +01:00
Pavle Goloskokovic
94d7fb7d4f Using manager.isLocked instead of removed checkTouchLocked method for volume property 2018-01-17 19:14:18 +01:00
Pavle Goloskokovic
941b4f5ac8 Using manager.isLocked instead of removed checkTouchLocked method for mute property 2018-01-17 19:14:06 +01:00
Pavle Goloskokovic
4b6287c4cd Using manager.isLocked instead of removed checkTouchLocked method for stop method 2018-01-17 19:13:47 +01:00
Pavle Goloskokovic
5c0c89022e Using manager.isLocked instead of removed checkTouchLocked method for resume method 2018-01-17 19:13:36 +01:00
Pavle Goloskokovic
fb775d4063 Using manager.isLocked instead of removed checkTouchLocked method for pause method 2018-01-17 19:13:21 +01:00
Pavle Goloskokovic
ce6f3400e2 Using manager.isLocked instead of removed checkTouchLocked method for play method 2018-01-17 19:13:09 +01:00
Pavle Goloskokovic
cee22b158c Removed checkTouchLocked from HTML5AudioSound class 2018-01-17 19:11:50 +01:00
Pavle Goloskokovic
da56f97580 Removed touchLockedActionQueue from HTML5AudioSound class 2018-01-17 19:11:28 +01:00
Pavle Goloskokovic
913f388535 Added isLocked method to handle locked actions 2018-01-17 19:10:24 +01:00
Pavle Goloskokovic
b25af58495 Resetting lockedActionsQueue after performing all locked actions 2018-01-17 19:09:36 +01:00
Pavle Goloskokovic
88d26607ec Updated and simplified logic for performing locked actions 2018-01-17 19:07:52 +01:00
Pavle Goloskokovic
aacd7a972d Setting lockedActionsQueue value based on locked property value 2018-01-17 19:03:16 +01:00
Pavle Goloskokovic
19ec0fb735 Added lockedActionsQueue property to HTML5AudioSoundManager class for internal use 2018-01-17 19:02:10 +01:00
Michael Hadley
5bc09a2c5c Update AP physics to handle tiles where tileSize !== baseTileSize 2018-01-17 11:27:29 -06:00
Pavle Goloskokovic
bcb11d5c4e Moved queued sound actions logic from update method to unlocked event handler 2018-01-17 18:24:03 +01:00
Pavle Goloskokovic
fb52e3d490 Setting unlocked property to true when audio tags are ready 2018-01-17 18:19:51 +01:00
Pavle Goloskokovic
5f035c80e2 Removed condition since it is already performed in base class constructor 2018-01-17 18:19:26 +01:00
Pavle Goloskokovic
d388c827e4 Added a TODO for setting correct duration value when available 2018-01-17 18:18:22 +01:00
Pavle Goloskokovic
fdbda3cffa Setting locked property to value set in subclass if available 2018-01-17 18:17:31 +01:00
Pavle Goloskokovic
0f6f0ab45e Setting locked property for HTML5AudioSoundManager class 2018-01-17 18:17:01 +01:00
Pavle Goloskokovic
ff4e9616f3 Removed touchUnlocked property form HTML5AudioSoundManager class 2018-01-17 18:16:14 +01:00
Pavle Goloskokovic
6b1b7a1342 Removed touchLocked property form HTML5AudioSoundManager class 2018-01-17 18:15:50 +01:00
Pavle Goloskokovic
c6c3f1da79 Setting unlocked property to true when audio context resumes 2018-01-17 18:14:28 +01:00
Pavle Goloskokovic
bf0c868bf3 Removed condition since it is already performed in base class constructor 2018-01-17 18:13:52 +01:00
Pavle Goloskokovic
a90760f8df Setting locked property for WebAudioSoundManager 2018-01-17 18:13:04 +01:00
Pavle Goloskokovic
8ec82c3a4d Setting locked property to false after unlocking 2018-01-17 18:12:03 +01:00
Pavle Goloskokovic
28b098348b Handling unlocking in update method 2018-01-17 18:11:27 +01:00
Pavle Goloskokovic
fbb1388f2d Added unlocked property to BaseSoundManager class for internal use 2018-01-17 18:10:40 +01:00
Pavle Goloskokovic
9ed999fada Calling unlocked method only if locked property is set to true 2018-01-17 18:09:33 +01:00
Pavle Goloskokovic
31cd229bf2 Added locked property to BaseSoundManager class 2018-01-17 18:09:00 +01:00
Pavle Goloskokovic
94cefc9621 Resetting sound's touchLockedActionQueue 2018-01-17 17:35:54 +01:00
Pavle Goloskokovic
04b9996ac7 Sorting actions to be performed in chronological order 2018-01-17 17:35:33 +01:00
Pavle Goloskokovic
d8e36615e7 Gathering all actions and performing them sequentially 2018-01-17 17:35:08 +01:00
Pavle Goloskokovic
dc3938e8ff Added update method to handle unlocking 2018-01-17 17:32:41 +01:00
Pavle Goloskokovic
5916d9f423 Setting last audio tag event listener to set touchUnlocked when it is ready for playback 2018-01-17 17:31:56 +01:00
Pavle Goloskokovic
644a28cb3c Pushing all tags in an array before loading them 2018-01-17 17:31:01 +01:00
Pavle Goloskokovic
38e59f6f4b Using touchLocked value as condition 2018-01-17 17:29:18 +01:00
Pavle Goloskokovic
f52cfee58a Added touchUnlocked property to HTML5AudioSoundManager class 2018-01-17 17:27:59 +01:00
Pavle Goloskokovic
b9b5489ab3 Added touchLocked property to HTML5AudioSoundManager class 2018-01-17 17:27:28 +01:00
Pavle Goloskokovic
84a20395e6 Using checkTouchLocked with loop property 2018-01-17 17:25:43 +01:00
Pavle Goloskokovic
33bc3d8d5c Using checkTouchLocked with seek property 2018-01-17 17:23:20 +01:00
Pavle Goloskokovic
874b3d5bc1 Defined detune property getter 2018-01-17 17:23:04 +01:00
Pavle Goloskokovic
3ff214da59 Defined rate property getter 2018-01-17 17:22:54 +01:00
Pavle Goloskokovic
eb5be4c75d Defined detune property setter to be able to use checkTouchLocked with it 2018-01-17 17:22:30 +01:00
Pavle Goloskokovic
865f8d06ad Defined rate property setter to be able to use checkTouchLocked with it 2018-01-17 17:22:03 +01:00
Pavle Goloskokovic
c2f7795a98 Using checkTouchLocked with volume property 2018-01-17 17:21:07 +01:00
Pavle Goloskokovic
a9a3c3c2a2 Using checkTouchLocked with mute property 2018-01-17 17:20:44 +01:00
Pavle Goloskokovic
22154ceace Using checkTouchLocked with stop method 2018-01-17 17:19:39 +01:00
Pavle Goloskokovic
796f3657ac Using checkTouchLocked with resume method 2018-01-17 17:19:25 +01:00
Pavle Goloskokovic
893882fe95 Using checkTouchLocked with pause method 2018-01-17 17:19:15 +01:00
Pavle Goloskokovic
300ac5b859 Using checkTouchLocked with play method 2018-01-17 17:19:04 +01:00
Pavle Goloskokovic
093f295389 Added touchLockedActionQueue property to HTML5AudioSound class 2018-01-17 17:06:55 +01:00
Pavle Goloskokovic
c4f4fbc79d Passing sound manager touchLocked value to HTML5AudioFile constructor 2018-01-17 17:04:55 +01:00
Pavle Goloskokovic
541cd83688 Using object property instead of local var 2018-01-17 17:04:06 +01:00
Pavle Goloskokovic
81f3b56b0a Added touchLocked argument to HTML5AudioFile class constructor 2018-01-17 17:01:50 +01:00
Richard Davey
108b6bd2a3 Events call the world directly, avoids an unnecessary function jump. 2018-01-17 15:28:53 +00:00
Richard Davey
f41d016c9f Moved Matter over to use the plugin system. 2018-01-17 15:22:16 +00:00
Richard Davey
bae63901d7 fillPoint draws the rect in the center of the x/y coordinates instead of the top-left 2018-01-17 15:01:24 +00:00
Pavle Goloskokovic
be7741ed89 Resetting already started sounds before unlocking 2018-01-17 14:13:44 +01:00