mirror of
https://github.com/photonstorm/phaser
synced 2024-11-22 12:43:26 +00:00
Moved Arcade and Impact Physics over to the new plugin system
This commit is contained in:
parent
d1cd5cbc1d
commit
ddba95873d
13 changed files with 257 additions and 199 deletions
|
@ -1,92 +0,0 @@
|
||||||
var Class = require('../../utils/Class');
|
|
||||||
var GetValue = require('../../utils/object/GetValue');
|
|
||||||
var Merge = require('../../utils/object/Merge');
|
|
||||||
var NOOP = require('../../utils/NOOP');
|
|
||||||
|
|
||||||
// Physics Systems (TODO: Remove from here)
|
|
||||||
var Arcade = require('../../physics/arcade/Arcade');
|
|
||||||
var Impact = require('../../physics/impact/Impact');
|
|
||||||
var Matter = require('../../physics/matter-js/Matter');
|
|
||||||
|
|
||||||
var PhysicsManager = new Class({
|
|
||||||
|
|
||||||
initialize:
|
|
||||||
|
|
||||||
function PhysicsManager (scene)
|
|
||||||
{
|
|
||||||
this.scene = scene;
|
|
||||||
|
|
||||||
this.gameConfig = scene.sys.game.config.physics;
|
|
||||||
this.defaultSystem = scene.sys.game.config.defaultPhysicsSystem;
|
|
||||||
this.sceneConfig = scene.sys.settings.physics;
|
|
||||||
|
|
||||||
// This gets set to an instance of the physics system during boot
|
|
||||||
this.system;
|
|
||||||
|
|
||||||
// This gets set by the physics system during boot
|
|
||||||
this.world = { update: NOOP, postUpdate: NOOP, shutdown: NOOP, destroy: NOOP };
|
|
||||||
|
|
||||||
// This gets set by the physics system during boot
|
|
||||||
this.add;
|
|
||||||
},
|
|
||||||
|
|
||||||
boot: function ()
|
|
||||||
{
|
|
||||||
var sceneSystem = GetValue(this.sceneConfig, 'system', false);
|
|
||||||
|
|
||||||
if (!this.defaultSystem && !sceneSystem)
|
|
||||||
{
|
|
||||||
// No default physics system or system in this scene, so abort
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Which physics system are we using in this Scene?
|
|
||||||
var system = (sceneSystem !== false) ? sceneSystem : this.defaultSystem;
|
|
||||||
|
|
||||||
// Create the config for it
|
|
||||||
var config = Merge(this.sceneConfig, GetValue(this.gameConfig, system, {}));
|
|
||||||
|
|
||||||
switch (system)
|
|
||||||
{
|
|
||||||
case 'arcade':
|
|
||||||
this.system = new Arcade(this, config);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'impact':
|
|
||||||
this.system = new Impact(this, config);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'matter':
|
|
||||||
this.system = new Matter(this, config);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
remove: function (object)
|
|
||||||
{
|
|
||||||
this.world.remove(object);
|
|
||||||
},
|
|
||||||
|
|
||||||
update: function (time, delta)
|
|
||||||
{
|
|
||||||
this.world.update(time, delta);
|
|
||||||
},
|
|
||||||
|
|
||||||
postUpdate: function ()
|
|
||||||
{
|
|
||||||
this.world.postUpdate();
|
|
||||||
},
|
|
||||||
|
|
||||||
shutdown: function ()
|
|
||||||
{
|
|
||||||
this.world.shutdown();
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function ()
|
|
||||||
{
|
|
||||||
this.world.destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = PhysicsManager;
|
|
|
@ -1,20 +0,0 @@
|
||||||
var Class = require('../../utils/Class');
|
|
||||||
var Factory = require('./Factory');
|
|
||||||
var World = require('./World');
|
|
||||||
|
|
||||||
var Arcade = new Class({
|
|
||||||
|
|
||||||
initialize:
|
|
||||||
|
|
||||||
function Arcade (physicsManager, config)
|
|
||||||
{
|
|
||||||
this.config = config;
|
|
||||||
|
|
||||||
physicsManager.world = new World(physicsManager.scene, config);
|
|
||||||
|
|
||||||
physicsManager.add = new Factory(physicsManager.world);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = Arcade;
|
|
110
src/physics/arcade/ArcadePhysics.js
Normal file
110
src/physics/arcade/ArcadePhysics.js
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
var Class = require('../../utils/Class');
|
||||||
|
var Factory = require('./Factory');
|
||||||
|
var GetFastValue = require('../../utils/object/GetFastValue');
|
||||||
|
var Merge = require('../../utils/object/Merge');
|
||||||
|
var PluginManager = require('../../plugins/PluginManager');
|
||||||
|
var World = require('./World');
|
||||||
|
|
||||||
|
// Phaser.Physics.Arcade.ArcadePhysics
|
||||||
|
|
||||||
|
var ArcadePhysics = new Class({
|
||||||
|
|
||||||
|
initialize:
|
||||||
|
|
||||||
|
function ArcadePhysics (scene)
|
||||||
|
{
|
||||||
|
// The Scene that owns this plugin
|
||||||
|
this.scene = scene;
|
||||||
|
|
||||||
|
this.systems = scene.sys;
|
||||||
|
|
||||||
|
this.mapping = 'physics';
|
||||||
|
|
||||||
|
this.systems.events.on('boot', this.boot, this);
|
||||||
|
|
||||||
|
this.config = this.getConfig();
|
||||||
|
|
||||||
|
this.world;
|
||||||
|
|
||||||
|
this.add;
|
||||||
|
},
|
||||||
|
|
||||||
|
getConfig: function ()
|
||||||
|
{
|
||||||
|
var gameConfig = this.systems.game.config.physics;
|
||||||
|
var sceneConfig = this.systems.settings.physics;
|
||||||
|
|
||||||
|
var config = Merge(
|
||||||
|
GetFastValue(sceneConfig, 'arcade', {}),
|
||||||
|
GetFastValue(gameConfig, 'arcade', {})
|
||||||
|
);
|
||||||
|
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
|
||||||
|
boot: function ()
|
||||||
|
{
|
||||||
|
this.world = new World(this.scene, this.config);
|
||||||
|
this.add = new Factory(this.world);
|
||||||
|
|
||||||
|
this.systems.inject(this);
|
||||||
|
|
||||||
|
this.systems.events.on('update', this.update, this);
|
||||||
|
this.systems.events.on('postupdate', this.postUpdate, this);
|
||||||
|
this.systems.events.on('shutdown', this.shutdown, this);
|
||||||
|
this.systems.events.on('destroy', this.destroy, this);
|
||||||
|
},
|
||||||
|
|
||||||
|
update: function (time, delta)
|
||||||
|
{
|
||||||
|
this.world.update(time, delta);
|
||||||
|
},
|
||||||
|
|
||||||
|
postUpdate: function ()
|
||||||
|
{
|
||||||
|
this.world.postUpdate();
|
||||||
|
},
|
||||||
|
|
||||||
|
overlap: function (object1, object2, overlapCallback, processCallback, callbackContext)
|
||||||
|
{
|
||||||
|
if (overlapCallback === undefined) { overlapCallback = null; }
|
||||||
|
if (processCallback === undefined) { processCallback = null; }
|
||||||
|
if (callbackContext === undefined) { callbackContext = overlapCallback; }
|
||||||
|
|
||||||
|
return this.world.collideObjects(object1, object2, overlapCallback, processCallback, callbackContext, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
collide: function (object1, object2, collideCallback, processCallback, callbackContext)
|
||||||
|
{
|
||||||
|
if (collideCallback === undefined) { collideCallback = null; }
|
||||||
|
if (processCallback === undefined) { processCallback = null; }
|
||||||
|
if (callbackContext === undefined) { callbackContext = collideCallback; }
|
||||||
|
|
||||||
|
return this.world.collideObjects(object1, object2, collideCallback, processCallback, callbackContext, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
// Utils
|
||||||
|
accelerateTo: require('./utils/AccelerateTo'),
|
||||||
|
accelerateToObject: require('./utils/AccelerateToObject'),
|
||||||
|
closest: require('./utils/Closest'),
|
||||||
|
furthest: require('./utils/Furthest'),
|
||||||
|
moveTo: require('./utils/MoveTo'),
|
||||||
|
moveToObject: require('./utils/MoveToObject'),
|
||||||
|
velocityFromAngle: require('./utils/VelocityFromAngle'),
|
||||||
|
velocityFromRotation: require('./utils/VelocityFromRotation'),
|
||||||
|
|
||||||
|
shutdown: function ()
|
||||||
|
{
|
||||||
|
this.world.shutdown();
|
||||||
|
},
|
||||||
|
|
||||||
|
destroy: function ()
|
||||||
|
{
|
||||||
|
this.world.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
PluginManager.register('arcadePhysics', ArcadePhysics);
|
||||||
|
|
||||||
|
module.exports = ArcadePhysics;
|
|
@ -1,5 +1,3 @@
|
||||||
// Phaser.Physics.Arcade.World
|
|
||||||
|
|
||||||
var Body = require('./Body');
|
var Body = require('./Body');
|
||||||
var Class = require('../../utils/Class');
|
var Class = require('../../utils/Class');
|
||||||
var Collider = require('./Collider');
|
var Collider = require('./Collider');
|
||||||
|
@ -13,6 +11,8 @@ var Set = require('../../structs/Set');
|
||||||
var StaticBody = require('./StaticBody');
|
var StaticBody = require('./StaticBody');
|
||||||
var Vector2 = require('../../math/Vector2');
|
var Vector2 = require('../../math/Vector2');
|
||||||
|
|
||||||
|
// Phaser.Physics.Arcade.World
|
||||||
|
|
||||||
var World = new Class({
|
var World = new Class({
|
||||||
|
|
||||||
Extends: EventEmitter,
|
Extends: EventEmitter,
|
||||||
|
@ -399,16 +399,6 @@ var World = new Class({
|
||||||
collideGroupVsTilemapLayer: require('./inc/CollideGroupVsTilemapLayer'),
|
collideGroupVsTilemapLayer: require('./inc/CollideGroupVsTilemapLayer'),
|
||||||
collideSpriteVsTilemapLayer: require('./inc/CollideSpriteVsTilemapLayer'),
|
collideSpriteVsTilemapLayer: require('./inc/CollideSpriteVsTilemapLayer'),
|
||||||
|
|
||||||
// Utils
|
|
||||||
accelerateTo: require('./utils/AccelerateTo'),
|
|
||||||
accelerateToObject: require('./utils/AccelerateToObject'),
|
|
||||||
closest: require('./utils/Closest'),
|
|
||||||
furthest: require('./utils/Furthest'),
|
|
||||||
moveTo: require('./utils/MoveTo'),
|
|
||||||
moveToObject: require('./utils/MoveToObject'),
|
|
||||||
velocityFromAngle: require('./utils/VelocityFromAngle'),
|
|
||||||
velocityFromRotation: require('./utils/VelocityFromRotation'),
|
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
collideGroupVsGroup: function (group1, group2, collideCallback, processCallback, callbackContext, overlapOnly)
|
collideGroupVsGroup: function (group1, group2, collideCallback, processCallback, callbackContext, overlapOnly)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
// Phaser.Physics.Arcade
|
// Phaser.Physics.Arcade
|
||||||
|
|
||||||
// World updated to run off the Phaser main loop.
|
|
||||||
// Body extended to support additional setter functions.
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
|
ArcadePhysics: require('./ArcadePhysics'),
|
||||||
Body: require('./Body'),
|
Body: require('./Body'),
|
||||||
|
Collider: require('./Collider'),
|
||||||
Factory: require('./Factory'),
|
Factory: require('./Factory'),
|
||||||
Group: require('./PhysicsGroup'),
|
Group: require('./PhysicsGroup'),
|
||||||
Image: require('./ArcadeImage'),
|
Image: require('./ArcadeImage'),
|
||||||
Sprite: require('./ArcadeSprite'),
|
Sprite: require('./ArcadeSprite'),
|
||||||
|
StaticBody: require('./StaticBody'),
|
||||||
|
StaticGroup: require('./StaticPhysicsGroup'),
|
||||||
World: require('./World')
|
World: require('./World')
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
var Class = require('../../utils/Class');
|
|
||||||
var Factory = require('./Factory');
|
|
||||||
var World = require('./World');
|
|
||||||
|
|
||||||
var Impact = new Class({
|
|
||||||
|
|
||||||
initialize:
|
|
||||||
|
|
||||||
function Impact (physicsManager, config)
|
|
||||||
{
|
|
||||||
this.config = config;
|
|
||||||
|
|
||||||
physicsManager.world = new World(physicsManager.scene, config);
|
|
||||||
|
|
||||||
physicsManager.add = new Factory(physicsManager.world);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = Impact;
|
|
76
src/physics/impact/ImpactPhysics.js
Normal file
76
src/physics/impact/ImpactPhysics.js
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
var Class = require('../../utils/Class');
|
||||||
|
var Factory = require('./Factory');
|
||||||
|
var GetFastValue = require('../../utils/object/GetFastValue');
|
||||||
|
var Merge = require('../../utils/object/Merge');
|
||||||
|
var PluginManager = require('../../plugins/PluginManager');
|
||||||
|
var World = require('./World');
|
||||||
|
|
||||||
|
// Phaser.Physics.Impact.ImpactPhysics
|
||||||
|
|
||||||
|
var ImpactPhysics = new Class({
|
||||||
|
|
||||||
|
initialize:
|
||||||
|
|
||||||
|
function ImpactPhysics (scene)
|
||||||
|
{
|
||||||
|
// The Scene that owns this plugin
|
||||||
|
this.scene = scene;
|
||||||
|
|
||||||
|
this.systems = scene.sys;
|
||||||
|
|
||||||
|
this.mapping = 'impact';
|
||||||
|
|
||||||
|
this.systems.events.on('boot', this.boot, this);
|
||||||
|
|
||||||
|
this.config = this.getConfig();
|
||||||
|
|
||||||
|
this.world;
|
||||||
|
|
||||||
|
this.add;
|
||||||
|
},
|
||||||
|
|
||||||
|
getConfig: function ()
|
||||||
|
{
|
||||||
|
var gameConfig = this.systems.game.config.physics;
|
||||||
|
var sceneConfig = this.systems.settings.physics;
|
||||||
|
|
||||||
|
var config = Merge(
|
||||||
|
GetFastValue(sceneConfig, 'impact', {}),
|
||||||
|
GetFastValue(gameConfig, 'impact', {})
|
||||||
|
);
|
||||||
|
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
|
||||||
|
boot: function ()
|
||||||
|
{
|
||||||
|
this.world = new World(this.scene, this.config);
|
||||||
|
this.add = new Factory(this.world);
|
||||||
|
|
||||||
|
this.systems.inject(this);
|
||||||
|
|
||||||
|
this.systems.events.on('update', this.update, this);
|
||||||
|
this.systems.events.on('shutdown', this.shutdown, this);
|
||||||
|
this.systems.events.on('destroy', this.destroy, this);
|
||||||
|
},
|
||||||
|
|
||||||
|
update: function (time, delta)
|
||||||
|
{
|
||||||
|
this.world.update(time, delta);
|
||||||
|
},
|
||||||
|
|
||||||
|
shutdown: function ()
|
||||||
|
{
|
||||||
|
this.world.shutdown();
|
||||||
|
},
|
||||||
|
|
||||||
|
destroy: function ()
|
||||||
|
{
|
||||||
|
this.world.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
PluginManager.register('impactPhysics', ImpactPhysics);
|
||||||
|
|
||||||
|
module.exports = ImpactPhysics;
|
|
@ -216,11 +216,6 @@ var World = new Class({
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
postUpdate: function ()
|
|
||||||
{
|
|
||||||
// NOOP
|
|
||||||
},
|
|
||||||
|
|
||||||
update: function (time, delta)
|
update: function (time, delta)
|
||||||
{
|
{
|
||||||
if (!this.enabled || this.bodies.size === 0)
|
if (!this.enabled || this.bodies.size === 0)
|
||||||
|
|
|
@ -15,10 +15,14 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
Body: require('./Body'),
|
Body: require('./Body'),
|
||||||
|
Body: require('./ImpactBody'),
|
||||||
COLLIDES: require('./COLLIDES'),
|
COLLIDES: require('./COLLIDES'),
|
||||||
CollisionMap: require('./CollisionMap'),
|
CollisionMap: require('./CollisionMap'),
|
||||||
|
Factory: require('./Factory'),
|
||||||
|
Image: require('./ImpactImage'),
|
||||||
|
ImpactPhysics: require('./ImpactPhysics'),
|
||||||
|
Sprite: require('./ImpactSprite'),
|
||||||
TYPE: require('./TYPE'),
|
TYPE: require('./TYPE'),
|
||||||
World: require('./World'),
|
World: require('./World')
|
||||||
Factory: require('./Factory')
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// Phaser.Physics
|
// Phaser.Physics
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
Arcade: require('./arcade'),
|
Arcade: require('./arcade'),
|
||||||
Impact: require('./impact'),
|
Impact: require('./impact'),
|
||||||
Matter: require('./matter-js/CustomMain'),
|
Matter: require('./matter-js/CustomMain'),
|
||||||
PolyDecomp: require('./poly-decomp')
|
PolyDecomp: require('./poly-decomp')
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -33,10 +33,10 @@ var PluginManager = new Class({
|
||||||
{
|
{
|
||||||
pluginKey = localPlugins[i];
|
pluginKey = localPlugins[i];
|
||||||
|
|
||||||
// console.log('installing', p);
|
|
||||||
|
|
||||||
if (plugins[pluginKey])
|
if (plugins[pluginKey])
|
||||||
{
|
{
|
||||||
|
// console.log('installing', pluginKey);
|
||||||
|
|
||||||
// Install a local reference inside of Systems
|
// Install a local reference inside of Systems
|
||||||
sys[pluginKey] = new plugins[pluginKey](scene);
|
sys[pluginKey] = new plugins[pluginKey](scene);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// These properties get injected into the Scene and map to local systems
|
// These properties get injected into the Scene and map to local systems
|
||||||
// The map key is the local system reference, the value is the property that is added to the Scene
|
// The map key is the property that is added to the Scene, the value is the Scene.Systems reference
|
||||||
// These defaults can be modified via the Scene config object
|
// These defaults can be modified via the Scene config object
|
||||||
|
|
||||||
var InjectionMap = {
|
var InjectionMap = {
|
||||||
|
@ -14,14 +14,16 @@ var InjectionMap = {
|
||||||
|
|
||||||
add: 'add',
|
add: 'add',
|
||||||
cameras: 'cameras',
|
cameras: 'cameras',
|
||||||
|
children: 'displayList',
|
||||||
data: 'data',
|
data: 'data',
|
||||||
displayList: 'children',
|
|
||||||
events: 'events',
|
events: 'events',
|
||||||
|
impact: 'impactPhysics',
|
||||||
input: 'input',
|
input: 'input',
|
||||||
load: 'load',
|
load: 'load',
|
||||||
make: 'make',
|
make: 'make',
|
||||||
physicsManager: 'physics',
|
matter: 'matterPhysics',
|
||||||
sceneManager: 'scene',
|
physics: 'arcadePhysics',
|
||||||
|
scene: 'sceneManager',
|
||||||
time: 'time',
|
time: 'time',
|
||||||
tweens: 'tweens'
|
tweens: 'tweens'
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
var Class = require('../utils/Class');
|
var Class = require('../utils/Class');
|
||||||
var Settings = require('./Settings');
|
|
||||||
var EventEmitter = require('eventemitter3');
|
var EventEmitter = require('eventemitter3');
|
||||||
|
var GetFastValue = require('../utils/object/GetFastValue');
|
||||||
var ScenePlugin = require('./ScenePlugin');
|
var ScenePlugin = require('./ScenePlugin');
|
||||||
|
var Settings = require('./Settings');
|
||||||
// var Data = require('../../data/Data');
|
|
||||||
// var DataStore = require('../../data/DataStore');
|
|
||||||
// var PhysicsManager = require('../plugins/PhysicsManager');
|
|
||||||
|
|
||||||
var Systems = new Class({
|
var Systems = new Class({
|
||||||
|
|
||||||
|
@ -69,15 +66,52 @@ var Systems = new Class({
|
||||||
[ 'displayList', 'updateList', 'sceneManager', 'time', 'cameras', 'add', 'make', 'load', 'tweens', 'input' ]
|
[ 'displayList', 'updateList', 'sceneManager', 'time', 'cameras', 'add', 'make', 'load', 'tweens', 'input' ]
|
||||||
);
|
);
|
||||||
|
|
||||||
// Optional Scene plugins - not referenced by core systems, can be overridden with user code
|
var physics = this.getPhysicsSystem();
|
||||||
|
|
||||||
// this.data = new Data(scene);
|
if (physics)
|
||||||
// this.dataStore = new DataStore(scene);
|
{
|
||||||
// this.physicsManager = new PhysicsManager(scene);
|
game.plugins.install(scene, [], physics);
|
||||||
|
}
|
||||||
|
|
||||||
this.events.emit('boot', this);
|
this.events.emit('boot', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getPhysicsSystem: function ()
|
||||||
|
{
|
||||||
|
var defaultSystem = this.game.config.defaultPhysicsSystem;
|
||||||
|
var sceneSystems = GetFastValue(this.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)
|
||||||
|
{
|
||||||
|
output.push(defaultSystem + 'Physics');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sceneSystems)
|
||||||
|
{
|
||||||
|
for (var key in sceneSystems)
|
||||||
|
{
|
||||||
|
key = key.concat('Physics');
|
||||||
|
|
||||||
|
if (output.indexOf(key) === -1)
|
||||||
|
{
|
||||||
|
output.push(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// An array of Physics systems to start for this Scene
|
||||||
|
return output;
|
||||||
|
},
|
||||||
|
|
||||||
inject: function (plugin)
|
inject: function (plugin)
|
||||||
{
|
{
|
||||||
var map = this.settings.map;
|
var map = this.settings.map;
|
||||||
|
@ -99,13 +133,9 @@ var Systems = new Class({
|
||||||
|
|
||||||
this.events.emit('update', time, delta);
|
this.events.emit('update', time, delta);
|
||||||
|
|
||||||
// this.physicsManager.update(time, delta);
|
|
||||||
|
|
||||||
this.scene.update.call(this.scene, time, delta);
|
this.scene.update.call(this.scene, time, delta);
|
||||||
|
|
||||||
this.events.emit('postupdate', time, delta);
|
this.events.emit('postupdate', time, delta);
|
||||||
|
|
||||||
// this.physicsManager.postUpdate();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function (interpolation, renderer)
|
render: function (interpolation, renderer)
|
||||||
|
@ -141,10 +171,7 @@ var Systems = new Class({
|
||||||
|
|
||||||
this.settings.active = false;
|
this.settings.active = false;
|
||||||
|
|
||||||
if (this.scene.pause)
|
this.events.emit('pause', this);
|
||||||
{
|
|
||||||
this.scene.pause.call(this.scene);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
resume: function ()
|
resume: function ()
|
||||||
|
@ -153,10 +180,7 @@ var Systems = new Class({
|
||||||
|
|
||||||
this.settings.active = true;
|
this.settings.active = true;
|
||||||
|
|
||||||
if (this.scene.resume)
|
this.events.emit('resume', this);
|
||||||
{
|
|
||||||
this.scene.resume.call(this.scene);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
sleep: function ()
|
sleep: function ()
|
||||||
|
@ -166,10 +190,7 @@ var Systems = new Class({
|
||||||
this.settings.active = false;
|
this.settings.active = false;
|
||||||
this.settings.visible = false;
|
this.settings.visible = false;
|
||||||
|
|
||||||
if (this.scene.sleep)
|
this.events.emit('sleep', this);
|
||||||
{
|
|
||||||
this.scene.sleep.call(this.scene);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
wake: function ()
|
wake: function ()
|
||||||
|
@ -179,10 +200,7 @@ var Systems = new Class({
|
||||||
this.settings.active = true;
|
this.settings.active = true;
|
||||||
this.settings.visible = true;
|
this.settings.visible = true;
|
||||||
|
|
||||||
if (this.scene.wake)
|
this.events.emit('wake', this);
|
||||||
{
|
|
||||||
this.scene.wake.call(this.scene);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
start: function (data)
|
start: function (data)
|
||||||
|
@ -193,6 +211,8 @@ var Systems = new Class({
|
||||||
|
|
||||||
this.settings.active = true;
|
this.settings.active = true;
|
||||||
this.settings.visible = true;
|
this.settings.visible = true;
|
||||||
|
|
||||||
|
this.events.emit('start', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
shutdown: function ()
|
shutdown: function ()
|
||||||
|
@ -203,21 +223,11 @@ var Systems = new Class({
|
||||||
this.settings.visible = false;
|
this.settings.visible = false;
|
||||||
|
|
||||||
this.events.emit('shutdown', this);
|
this.events.emit('shutdown', this);
|
||||||
|
|
||||||
if (this.scene.shutdown)
|
|
||||||
{
|
|
||||||
this.scene.shutdown.call(this.scene);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function ()
|
destroy: function ()
|
||||||
{
|
{
|
||||||
this.events.emit('destroy', this);
|
this.events.emit('destroy', this);
|
||||||
|
|
||||||
if (this.scene.destroy)
|
|
||||||
{
|
|
||||||
this.scene.destroy.call(this.scene);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue