phaser/src/scene/GetPhysicsPlugins.js

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2018-02-12 16:01:20 +00:00
/**
* @author Richard Davey <rich@photonstorm.com>
* @copyright 2018 Photon Storm Ltd.
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
*/
var GetFastValue = require('../utils/object/GetFastValue');
2018-01-18 05:33:54 +00:00
var UppercaseFirst = require('../utils/string/UppercaseFirst');
2018-02-12 15:18:31 +00:00
/**
* Builds an array of which physics plugins should be activated for the given Scene.
*
* @function Phaser.Scenes.GetPhysicsPlugins
* @since 3.0.0
*
* @param {Phaser.Scenes.Systems} sys - [description]
*
* @return {array} [description]
*/
var GetPhysicsPlugins = function (sys)
{
var defaultSystem = sys.game.config.defaultPhysicsSystem;
var sceneSystems = GetFastValue(sys.settings, 'physics', false);
if (!defaultSystem && !sceneSystems)
{
// No default physics system or systems in this scene
return;
}
// Let's build the systems array
var output = [];
if (defaultSystem)
{
2018-01-18 05:33:54 +00:00
output.push(UppercaseFirst(defaultSystem + 'Physics'));
}
if (sceneSystems)
{
for (var key in sceneSystems)
{
2018-01-18 05:33:54 +00:00
key = UppercaseFirst(key.concat('Physics'));
if (output.indexOf(key) === -1)
{
output.push(key);
}
}
}
// An array of Physics systems to start for this Scene
return output;
};
module.exports = GetPhysicsPlugins;