Skip to content

Commit b4edeae

Browse files
committed
Updated GameObjectCreator to use same system as GameObjectFactory.
1 parent 651a6b3 commit b4edeae

21 files changed

Lines changed: 208 additions & 229 deletions

File tree

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
var BitmapText = require('./DynamicBitmapText');
2-
var GetAdvancedValue = require('../../../utils/object/GetAdvancedValue');
32
var BuildGameObject = require('../../BuildGameObject');
3+
var GameObjectCreator = require('../../../scene/plugins/GameObjectCreator');
4+
var GetAdvancedValue = require('../../../utils/object/GetAdvancedValue');
45

5-
var DynamicBitmapTextCreator = function (scene, config)
6+
// When registering a factory function 'this' refers to the GameObjectCreator context.
7+
8+
GameObjectCreator.register('dynamicBitmapText', function (config)
69
{
710
var font = GetAdvancedValue(config, 'font', '');
811
var text = GetAdvancedValue(config, 'text', '');
912
var size = GetAdvancedValue(config, 'size', false);
1013
var align = GetAdvancedValue(config, 'align', 'left');
1114

12-
var bitmapText = new BitmapText(scene, 0, 0, font, text, size, align);
15+
var bitmapText = new BitmapText(this.scene, 0, 0, font, text, size, align);
1316

14-
BuildGameObject(scene, bitmapText, config);
17+
BuildGameObject(this.scene, bitmapText, config);
1518

1619
return bitmapText;
17-
};
18-
19-
module.exports = DynamicBitmapTextCreator;
20+
});
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
var BitmapText = require('./BitmapText');
22
var BuildGameObject = require('../../BuildGameObject');
3+
var GameObjectCreator = require('../../../scene/plugins/GameObjectCreator');
34
var GetAdvancedValue = require('../../../utils/object/GetAdvancedValue');
45
var GetValue = require('../../../utils/object/GetValue');
56

6-
var BitmapTextCreator = function (scene, config)
7+
// When registering a factory function 'this' refers to the GameObjectCreator context.
8+
9+
GameObjectCreator.register('bitmapText', function (config)
710
{
811
var font = GetValue(config, 'font', '');
912
var text = GetAdvancedValue(config, 'text', '');
1013
var size = GetAdvancedValue(config, 'size', false);
1114
// var align = GetValue(config, 'align', 'left');
1215

13-
var bitmapText = new BitmapText(scene, 0, 0, font, text, size);
16+
var bitmapText = new BitmapText(this.scene, 0, 0, font, text, size);
1417

15-
BuildGameObject(scene, bitmapText, config);
18+
BuildGameObject(this.scene, bitmapText, config);
1619

1720
return bitmapText;
18-
};
19-
20-
module.exports = BitmapTextCreator;
21+
});
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
var Blitter = require('./Blitter');
2-
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
32
var BuildGameObject = require('../BuildGameObject');
3+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
4+
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
45

5-
var BlitterCreator = function (scene, config)
6+
// When registering a factory function 'this' refers to the GameObjectCreator context.
7+
8+
GameObjectCreator.register('blitter', function (config)
69
{
710
var key = GetAdvancedValue(config, 'key', null);
811
var frame = GetAdvancedValue(config, 'frame', null);
912

10-
var blitter = new Blitter(scene, 0, 0, key, frame);
13+
var blitter = new Blitter(this.scene, 0, 0, key, frame);
1114

12-
BuildGameObject(scene, blitter, config);
15+
BuildGameObject(this.scene, blitter, config);
1316

1417
return blitter;
15-
};
16-
17-
module.exports = BlitterCreator;
18+
});
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
var BuildGameObject = require('../BuildGameObject');
12
var EffectLayer = require('./EffectLayer');
3+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
24
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
3-
var BuildGameObject = require('../BuildGameObject');
45

5-
var EffectLayerCreator = function (scene, config)
6+
// When registering a factory function 'this' refers to the GameObjectCreator context.
7+
8+
GameObjectCreator.register('effectLayer', function (config)
69
{
710
var x = GetAdvancedValue(config, 'x', 0);
811
var y = GetAdvancedValue(config, 'y', 0);
@@ -11,11 +14,9 @@ var EffectLayerCreator = function (scene, config)
1114
var key = GetAdvancedValue(config, 'key', null);
1215
var fragmentShader = GetAdvancedValue(config, 'fragmentShader', '');
1316

14-
var layer = new EffectLayer(scene, x, y, width, height, effectName, fragmentShader);
17+
var layer = new EffectLayer(this.scene, x, y, width, height, effectName, fragmentShader);
1518

16-
BuildGameObject(scene, layer, config);
19+
BuildGameObject(this.scene, layer, config);
1720

1821
return layer;
19-
};
20-
21-
module.exports = EffectLayerCreator;
22+
});
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
12
var Graphics = require('./Graphics');
23

3-
var GraphicsCreator = function (scene, config)
4-
{
5-
return new Graphics(scene, config);
6-
};
4+
// When registering a factory function 'this' refers to the GameObjectCreator context.
75

8-
module.exports = GraphicsCreator;
6+
GameObjectCreator.register('graphics', function (config)
7+
{
8+
return new Graphics(this.scene, config);
9+
});
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
12
var Group = require('./Group');
23

3-
var GroupCreator = function (scene, config)
4+
// When registering a factory function 'this' refers to the GameObjectCreator context.
5+
6+
GameObjectCreator.register('group', function (config)
47
{
58
return new Group(scene, null, config);
6-
};
7-
8-
module.exports = GroupCreator;
9+
});
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
var Image = require('./Image');
2-
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
31
var BuildGameObject = require('../BuildGameObject');
2+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
3+
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
4+
var Image = require('./Image');
5+
6+
// When registering a factory function 'this' refers to the GameObjectCreator context.
47

5-
var ImageCreator = function (scene, config)
8+
GameObjectCreator.register('image', function (config)
69
{
710
var key = GetAdvancedValue(config, 'key', null);
811
var frame = GetAdvancedValue(config, 'frame', null);
912

10-
var image = new Image(scene, 0, 0, key, frame);
13+
var image = new Image(this.scene, 0, 0, key, frame);
1114

12-
BuildGameObject(scene, image, config);
15+
BuildGameObject(this.scene, image, config);
1316

1417
return image;
15-
};
16-
17-
module.exports = ImageCreator;
18+
});

v3/src/gameobjects/index.js

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,36 @@ var GameObjects = {
1919
Zone: require('./zone/Zone'),
2020

2121
// Game Object Factories
22-
BlitterFactory: require('./blitter/BlitterFactory'),
23-
DynamicBitmapTextFactory: require('./bitmaptext/dynamic/DynamicBitmapTextFactory'),
24-
DynamicTilemapFactory: require('./tilemap/dynamic/TilemapFactory'),
25-
GraphicsFactory: require('./graphics/GraphicsFactory'),
26-
GroupFactory: require('./group/GroupFactory'),
27-
ImageFactory: require('./image/ImageFactory'),
28-
SpriteFactory: require('./sprite/SpriteFactory'),
29-
StaticBitmapTextFactory: require('./bitmaptext/static/BitmapTextFactory'),
30-
StaticTilemapFactory: require('./tilemap/static/StaticTilemapFactory'),
31-
TextFactory: require('./text/static/TextFactory'),
32-
TileSpriteFactory: require('./tilesprite/TileSpriteFactory'),
33-
ZoneFactory: require('./zone/ZoneFactory'),
22+
23+
Factories: {
24+
Blitter: require('./blitter/BlitterFactory'),
25+
DynamicBitmapText: require('./bitmaptext/dynamic/DynamicBitmapTextFactory'),
26+
DynamicTilemap: require('./tilemap/dynamic/TilemapFactory'),
27+
Graphics: require('./graphics/GraphicsFactory'),
28+
Group: require('./group/GroupFactory'),
29+
Image: require('./image/ImageFactory'),
30+
Sprite: require('./sprite/SpriteFactory'),
31+
StaticBitmapText: require('./bitmaptext/static/BitmapTextFactory'),
32+
StaticTilemap: require('./tilemap/static/StaticTilemapFactory'),
33+
Text: require('./text/static/TextFactory'),
34+
TileSprite: require('./tilesprite/TileSpriteFactory'),
35+
Zone: require('./zone/ZoneFactory'),
36+
},
37+
38+
Creators: {
39+
Blitter: require('./blitter/BlitterCreator'),
40+
DynamicBitmapText: require('./bitmaptext/dynamic/DynamicBitmapTextCreator'),
41+
DynamicTilemap: require('./tilemap/dynamic/TilemapCreator'),
42+
Graphics: require('./graphics/GraphicsCreator'),
43+
Group: require('./group/GroupCreator'),
44+
Image: require('./image/ImageCreator'),
45+
Sprite: require('./sprite/SpriteCreator'),
46+
StaticBitmapText: require('./bitmaptext/static/BitmapTextCreator'),
47+
StaticTilemap: require('./tilemap/static/StaticTilemapCreator'),
48+
Text: require('./text/static/TextCreator'),
49+
TileSprite: require('./tilesprite/TileSpriteCreator'),
50+
Zone: require('./zone/ZoneCreator'),
51+
}
3452

3553
};
3654

@@ -43,11 +61,17 @@ if (WEBGL_RENDERER)
4361
GameObjects.Quad = require('./quad/Quad');
4462
GameObjects.RenderPass = require('./renderpass/RenderPass.js');
4563

46-
GameObjects.EffectLayerFactory = require('./effectlayer/EffectLayerFactory');
47-
GameObjects.LightLayerFactory = require('./lightlayer/LightLayerFactory');
48-
GameObjects.MeshFactory = require('./mesh/MeshFactory');
49-
GameObjects.QuadFactory = require('./quad/QuadFactory');
50-
GameObjects.RenderPassFactory = require('./renderpass/RenderPassFactory');
64+
GameObjects.Factories.EffectLayer = require('./effectlayer/EffectLayerFactory');
65+
GameObjects.Factories.LightLayer = require('./lightlayer/LightLayerFactory');
66+
GameObjects.Factories.Mesh = require('./mesh/MeshFactory');
67+
GameObjects.Factories.Quad = require('./quad/QuadFactory');
68+
GameObjects.Factories.RenderPass = require('./renderpass/RenderPassFactory');
69+
70+
GameObjects.Creators.EffectLayer = require('./effectlayer/EffectLayerCreator');
71+
GameObjects.Creators.LightLayer = require('./lightlayer/LightLayerCreator');
72+
GameObjects.Creators.Mesh = require('./mesh/MeshCreator');
73+
GameObjects.Creators.Quad = require('./quad/QuadCreator');
74+
GameObjects.Creators.RenderPass = require('./renderpass/RenderPassCreator');
5175
}
5276

5377
module.exports = GameObjects;
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
var LightLayer = require('./LightLayer');
2-
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
31
var BuildGameObject = require('../BuildGameObject');
2+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
3+
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
4+
var LightLayer = require('./LightLayer');
5+
6+
// When registering a factory function 'this' refers to the GameObjectCreator context.
47

5-
var LightLayerCreator = function (scene, config)
8+
GameObjectCreator.register('lightLayer', function (config)
69
{
7-
var pass = new LightLayer(scene);
10+
var pass = new LightLayer(this.scene);
811

9-
BuildGameObject(scene, pass, config);
12+
BuildGameObject(this.scene, pass, config);
1013

1114
return pass;
12-
};
13-
14-
module.exports = LightLayerCreator;
15+
});
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
var Mesh = require('./Mesh');
1+
var BuildGameObject = require('../BuildGameObject');
2+
var GameObjectCreator = require('../../scene/plugins/GameObjectCreator');
23
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
34
var GetValue = require('../../utils/object/GetValue');
4-
var BuildGameObject = require('../BuildGameObject');
5+
var Mesh = require('./Mesh');
6+
7+
// When registering a factory function 'this' refers to the GameObjectCreator context.
58

6-
var MeshCreator = function (scene, config)
9+
GameObjectCreator.register('mesh', function (config)
710
{
811
var key = GetAdvancedValue(config, 'key', null);
912
var frame = GetAdvancedValue(config, 'frame', null);
@@ -13,11 +16,9 @@ var MeshCreator = function (scene, config)
1316
var alphas = GetValue(config, 'alphas', []);
1417
var uv = GetValue(config, 'uv', []);
1518

16-
var mesh = new Mesh(scene, 0, 0, vertices, uv, indices, colors, alphas, key, frame);
19+
var mesh = new Mesh(this.scene, 0, 0, vertices, uv, indices, colors, alphas, key, frame);
1720

18-
BuildGameObject(scene, mesh, config);
21+
BuildGameObject(this.scene, mesh, config);
1922

2023
return mesh;
21-
};
22-
23-
module.exports = MeshCreator;
24+
});

0 commit comments

Comments
 (0)