Skip to content

Commit 8e07320

Browse files
committed
Migrating to plugins
1 parent ca7550a commit 8e07320

12 files changed

Lines changed: 130 additions & 125 deletions

File tree

src/cameras/2d/CameraManager.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -116,25 +116,6 @@ var CameraManager = new Class({
116116
},
117117
*/
118118

119-
destroy: function ()
120-
{
121-
this.main = undefined;
122-
123-
for (var i = 0; i < this.cameras.length; i++)
124-
{
125-
this.cameras[i].destroy();
126-
}
127-
128-
for (i = 0; i < this.cameraPool.length; i++)
129-
{
130-
this.cameraPool[i].destroy();
131-
}
132-
133-
this.cameras = [];
134-
this.cameraPool = [];
135-
this.scene = undefined;
136-
},
137-
138119
/*
139120
{
140121
cameras: [
@@ -246,7 +227,7 @@ var CameraManager = new Class({
246227
}
247228
},
248229

249-
removeCamera: function (camera)
230+
remove: function (camera)
250231
{
251232
var cameraIndex = this.cameras.indexOf(camera);
252233

@@ -298,6 +279,25 @@ var CameraManager = new Class({
298279

299280
shutdown: function ()
300281
{
282+
},
283+
284+
destroy: function ()
285+
{
286+
this.main = undefined;
287+
288+
for (var i = 0; i < this.cameras.length; i++)
289+
{
290+
this.cameras[i].destroy();
291+
}
292+
293+
for (i = 0; i < this.cameraPool.length; i++)
294+
{
295+
this.cameraPool[i].destroy();
296+
}
297+
298+
this.cameras = [];
299+
this.cameraPool = [];
300+
this.scene = undefined;
301301
}
302302

303303
});

src/gameobjects/DisplayList.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
var Class = require('../../utils/Class');
2-
var StableSort = require('../../utils/array/StableSort');
3-
var PluginManager = require('../../plugins/PluginManager');
1+
var Class = require('../utils/Class');
2+
var StableSort = require('../utils/array/StableSort');
3+
var PluginManager = require('../plugins/PluginManager');
44

55
var DisplayList = new Class({
66

src/gameobjects/GameObjectCreator.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var Class = require('../../utils/Class');
2-
var PluginManager = require('../../plugins/PluginManager');
1+
var Class = require('../utils/Class');
2+
var PluginManager = require('../plugins/PluginManager');
33

44
var GameObjectCreator = new Class({
55

src/gameobjects/GameObjectFactory.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var Class = require('../../utils/Class');
2-
var PluginManager = require('../../plugins/PluginManager');
1+
var Class = require('../utils/Class');
2+
var PluginManager = require('../plugins/PluginManager');
33

44
var GameObjectFactory = new Class({
55

src/gameobjects/UpdateList.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
var Class = require('../../utils/Class');
2-
var PluginManager = require('../../plugins/PluginManager');
1+
var Class = require('../utils/Class');
2+
var PluginManager = require('../plugins/PluginManager');
33

4-
// TODO - Extend from ProcessQueue
54
var UpdateList = new Class({
65

76
initialize:

src/loader/Loader.js

Lines changed: 46 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
1-
var BaseLoader = require('../../loader/BaseLoader');
2-
var Class = require('../../utils/Class');
3-
var CONST = require('../../loader/const');
4-
var NumberArray = require('../../utils/array/NumberArray');
5-
6-
var AnimationJSONFile = require('../../loader/filetypes/AnimationJSONFile');
7-
var AtlasJSONFile = require('../../loader/filetypes/AtlasJSONFile');
8-
var AudioFile = require('../../loader/filetypes/AudioFile');
9-
var BinaryFile = require('../../loader/filetypes/BinaryFile');
10-
var BitmapFontFile = require('../../loader/filetypes/BitmapFontFile');
11-
var GLSLFile = require('../../loader/filetypes/GLSLFile');
12-
var HTMLFile = require('../../loader/filetypes/HTMLFile');
13-
var ImageFile = require('../../loader/filetypes/ImageFile');
14-
var JSONFile = require('../../loader/filetypes/JSONFile');
15-
var ScriptFile = require('../../loader/filetypes/ScriptFile');
16-
var SpriteSheet = require('../../loader/filetypes/SpriteSheet');
17-
var SVGFile = require('../../loader/filetypes/SVGFile');
18-
var TextFile = require('../../loader/filetypes/TextFile');
19-
var TilemapCSVFile = require('../../loader/filetypes/TilemapCSVFile');
20-
var TilemapJSONFile = require('../../loader/filetypes/TilemapJSONFile');
21-
var UnityAtlasFile = require('../../loader/filetypes/UnityAtlasFile');
22-
var WavefrontFile = require('../../loader/filetypes/WavefrontFile');
23-
var XMLFile = require('../../loader/filetypes/XMLFile');
1+
var BaseLoader = require('./BaseLoader');
2+
var Class = require('../utils/Class');
3+
var CONST = require('./const');
4+
var NumberArray = require('../utils/array/NumberArray');
5+
var PluginManager = require('../plugins/PluginManager');
6+
7+
// TODO - Injection mapped
8+
var AnimationJSONFile = require('./filetypes/AnimationJSONFile');
9+
var AtlasJSONFile = require('./filetypes/AtlasJSONFile');
10+
var AudioFile = require('./filetypes/AudioFile');
11+
var BinaryFile = require('./filetypes/BinaryFile');
12+
var BitmapFontFile = require('./filetypes/BitmapFontFile');
13+
var GLSLFile = require('./filetypes/GLSLFile');
14+
var HTMLFile = require('./filetypes/HTMLFile');
15+
var ImageFile = require('./filetypes/ImageFile');
16+
var JSONFile = require('./filetypes/JSONFile');
17+
var ScriptFile = require('./filetypes/ScriptFile');
18+
var SpriteSheet = require('./filetypes/SpriteSheet');
19+
var SVGFile = require('./filetypes/SVGFile');
20+
var TextFile = require('./filetypes/TextFile');
21+
var TilemapCSVFile = require('./filetypes/TilemapCSVFile');
22+
var TilemapJSONFile = require('./filetypes/TilemapJSONFile');
23+
var UnityAtlasFile = require('./filetypes/UnityAtlasFile');
24+
var WavefrontFile = require('./filetypes/WavefrontFile');
25+
var XMLFile = require('./filetypes/XMLFile');
2426

2527
var Loader = new Class({
2628

@@ -32,9 +34,23 @@ var Loader = new Class({
3234
{
3335
BaseLoader.call(this, scene);
3436

37+
this.systems = scene.sys;
38+
39+
this.mapping = 'load';
40+
41+
this.systems.events.on('boot', this.boot, this);
42+
3543
this._multilist = {};
3644
},
3745

46+
boot: function ()
47+
{
48+
this.systems.inject(this);
49+
50+
this.systems.events.on('shutdown', this.shutdown, this);
51+
this.systems.events.on('destroy', this.destroy, this);
52+
},
53+
3854
// key can be either a string, an object or an array of objects
3955

4056
image: function (key, url, xhrSettings)
@@ -294,8 +310,15 @@ var Loader = new Class({
294310
}
295311

296312
return entry;
313+
},
314+
315+
shutdown: function ()
316+
{
317+
297318
}
298319

299320
});
300321

322+
PluginManager.register('load', Loader);
323+
301324
module.exports = Loader;

src/scene/Scene.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
var Class = require('../../utils/Class');
1+
var Class = require('../utils/Class');
32
var Systems = require('./Systems');
43

54
var Scene = new Class({

src/scene/ScenePlugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var Class = require('../../utils/Class');
2-
var PluginManager = require('../../plugins/PluginManager');
1+
var Class = require('../utils/Class');
2+
var PluginManager = require('../plugins/PluginManager');
33

44
// A proxy class to the Global Scene Manager
55
var SceneManager = new Class({

src/scene/Settings.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
var CONST = require('../const');
2-
var ScaleModes = require('../../renderer/ScaleModes');
3-
var GetValue = require('../../utils/object/GetValue');
1+
var CONST = require('./const');
2+
var ScaleModes = require('../renderer/ScaleModes');
3+
var GetValue = require('../utils/object/GetValue');
44
var InjectionMap = require('./InjectionMap');
55

66
var Settings = {

src/scene/Systems.js

Lines changed: 23 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,11 @@
1-
// var CameraManager = require('../../camera/local/CameraManager');
2-
var Class = require('../../utils/Class');
3-
var Clock = require('../../time/Clock');
4-
var Data = require('../../data/Data');
5-
var DataStore = require('../../data/DataStore');
6-
var DisplayList = require('../plugins/DisplayList');
7-
var EventEmitter = require('eventemitter3');
8-
var GameObjectCreator = require('../plugins/GameObjectCreator');
9-
var GameObjectFactory = require('../plugins/GameObjectFactory');
10-
var InputManager = require('../../input/InputPlugin');
11-
var Loader = require('../plugins/Loader');
12-
var PhysicsManager = require('../plugins/PhysicsManager');
13-
var SceneManager = require('../plugins/SceneManager');
1+
var Class = require('../utils/Class');
142
var Settings = require('./Settings');
15-
var TweenManager = require('../../tweens/manager/TweenManager');
16-
var UpdateList = require('../plugins/UpdateList');
3+
var EventEmitter = require('eventemitter3');
174

18-
var TestPlugin = require('../../plugins/TestPlugin');
5+
// var Data = require('../../data/Data');
6+
// var DataStore = require('../../data/DataStore');
7+
// var InputManager = require('../../input/InputPlugin');
8+
// var PhysicsManager = require('../plugins/PhysicsManager');
199

2010
var Systems = new Class({
2111

@@ -74,27 +64,21 @@ var Systems = new Class({
7464

7565
this.events = new EventEmitter();
7666

77-
game.plugins.install(scene, [ 'displayList', 'updateList', 'sceneManager', 'time', 'cameras', 'add', 'make' ]);
67+
game.plugins.install(scene, [ 'displayList', 'updateList', 'sceneManager', 'time', 'cameras', 'add', 'make', 'load', 'tweens' ]);
7868

7969
// Optional Scene plugins - not referenced by core systems, can be overridden with user code
8070

8171
// game.plugins.install(scene, [ , 'test' ]);
8272

83-
this.data = new Data(scene);
84-
this.dataStore = new DataStore(scene);
85-
this.inputManager = new InputManager(scene);
86-
this.load = new Loader(scene);
87-
this.physicsManager = new PhysicsManager(scene);
88-
this.tweens = new TweenManager(scene);
73+
// this.data = new Data(scene);
74+
// this.dataStore = new DataStore(scene);
75+
// this.inputManager = new InputManager(scene);
76+
// this.physicsManager = new PhysicsManager(scene);
77+
// this.tweens = new TweenManager(scene);
8978

9079
// Sometimes the managers need access to a system created after them
9180

9281
this.events.emit('boot', this);
93-
94-
this.inputManager.boot();
95-
this.physicsManager.boot();
96-
97-
this.inject2();
9882
},
9983

10084
inject: function (plugin)
@@ -107,21 +91,6 @@ var Systems = new Class({
10791
}
10892
},
10993

110-
inject2: function ()
111-
{
112-
var map = this.settings.map;
113-
114-
for (var key in map)
115-
{
116-
if (key === 'sys')
117-
{
118-
continue;
119-
}
120-
121-
this.scene[map[key]] = this[key];
122-
}
123-
},
124-
12594
step: function (time, delta)
12695
{
12796
// Are there any pending SceneManager actions?
@@ -135,21 +104,21 @@ var Systems = new Class({
135104

136105
this.events.emit('preupdate', time, delta);
137106

138-
this.tweens.begin(time);
139-
this.inputManager.begin(time);
107+
// this.tweens.begin(time);
108+
// this.inputManager.begin(time);
140109

141110
this.events.emit('update', time, delta);
142111

143-
this.physicsManager.update(time, delta);
112+
// this.physicsManager.update(time, delta);
144113

145-
this.tweens.update(time, delta);
146-
this.inputManager.update(time, delta);
114+
// this.tweens.update(time, delta);
115+
// this.inputManager.update(time, delta);
147116

148117
this.scene.update.call(this.scene, time, delta);
149118

150119
this.events.emit('postupdate', time, delta);
151120

152-
this.physicsManager.postUpdate();
121+
// this.physicsManager.postUpdate();
153122
},
154123

155124
render: function (interpolation, renderer)
@@ -251,8 +220,8 @@ var Systems = new Class({
251220
// this.displayList.shutdown();
252221
// this.updateList.shutdown();
253222
// this.time.shutdown();
254-
this.tweens.shutdown();
255-
this.physicsManager.shutdown();
223+
// this.tweens.shutdown();
224+
// this.physicsManager.shutdown();
256225

257226
if (this.scene.shutdown)
258227
{
@@ -265,10 +234,10 @@ var Systems = new Class({
265234
{
266235
this.events.emit('destroy', this);
267236

268-
this.add.destroy();
237+
// this.add.destroy();
269238
// this.time.destroy();
270-
this.tweens.destroy();
271-
this.physicsManager.destroy();
239+
// this.tweens.destroy();
240+
// this.physicsManager.destroy();
272241

273242
// etc
274243
if (this.scene.destroy)

0 commit comments

Comments
 (0)