Skip to content

Commit 9856200

Browse files
committed
Added camera gameobject filtering
1 parent 8fd1468 commit 9856200

25 files changed

Lines changed: 128 additions & 60 deletions

v3/src/camera/Camera.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ var Camera = new Class({
6161

6262
// Follow
6363
this._follow = null;
64+
65+
this._id = 0;
6466
},
6567

6668
cameraToScreen: require('./components/CameraToScreen'),
@@ -71,6 +73,7 @@ var Camera = new Class({
7173
destroy: require('./components/Destroy'),
7274
fade: require('./components/Fade'),
7375
flash: require('./components/Flash'),
76+
ignore: require('./components/Ignore'),
7477
preRender: require('./components/PreRender'),
7578
removeBounds: require('./components/RemoveBounds'),
7679
setBackgroundColor: require('./components/SetBackgroundColor'),

v3/src/camera/components/Ignore.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
var Ignore = function (gameObjectOrArray)
2+
{
3+
if (gameObjectOrArray instanceof Array)
4+
{
5+
for (var index = 0; index < gameObjectOrArray.length; ++index)
6+
{
7+
gameObjectOrArray[index].cameraFilter |= this._id;
8+
}
9+
}
10+
else
11+
{
12+
gameObjectOrArray.cameraFilter |= this._id;
13+
}
14+
};
15+
16+
module.exports = Ignore;

v3/src/checksum.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var CHECKSUM = {
2-
build: '37876e10-8162-11e7-b191-e9a855a11647'
2+
build: '3bd13fc0-81f1-11e7-b26f-e58093bce12c'
33
};
44
module.exports = CHECKSUM;

v3/src/gameobjects/GameObject.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ var GameObject = new Class({
2323
// Will Render bitmask flags for the components Visible, Alpha, Transform and Texture respectively
2424
this.renderMask = 15;
2525
this.renderFlags = 15;
26+
this.cameraFilter = 0;
2627

2728
this.input = null;
2829

v3/src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var tempMatrixChar = new TransformMatrix();
44

55
var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolationPercentage, camera)
66
{
7-
if (this.renderMask !== this.renderFlags)
7+
if (this.renderMask !== this.renderFlags || (gameObject.cameraFilter > 0 && (gameObject.cameraFilter & camera._id)))
88
{
99
return;
1010
}

v3/src/gameobjects/bitmaptext/static/BitmapTextWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var tempMatrix = new TransformMatrix();
33

44
var BitmapTextWebGLRenderer = function (renderer, gameObject, interpolationPercentage, camera)
55
{
6-
if (this.renderMask !== this.renderFlags)
6+
if (this.renderMask !== this.renderFlags || (gameObject.cameraFilter > 0 && (gameObject.cameraFilter & camera._id)))
77
{
88
return;
99
}

v3/src/gameobjects/blitter/BlitterWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var BlitterWebGLRenderer = function (renderer, src, interpolationPercentage, camera)
22
{
3-
if (this.renderMask !== this.renderFlags)
3+
if (this.renderMask !== this.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera._id)))
44
{
55
return;
66
}

v3/src/gameobjects/effectlayer/EffectLayerWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var EffectLayerWebGLRenderer = function (renderer, src, interpolationPercentage, camera)
22
{
3-
if (this.renderMask !== this.renderFlags)
3+
if (this.renderMask !== this.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera._id)))
44
{
55
return;
66
}

v3/src/gameobjects/graphics/GraphicsWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ var Path = function (x, y, width, rgb, alpha)
2727

2828
var GraphicsWebGLRenderer = function (renderer, gameObject, interpolationPercentage, camera, forceRenderTarget)
2929
{
30-
if (this.renderMask !== this.renderFlags)
30+
if (this.renderMask !== this.renderFlags || (gameObject.cameraFilter > 0 && (gameObject.cameraFilter & camera._id)))
3131
{
3232
return;
3333
}

v3/src/gameobjects/image/ImageWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var ImageWebGLRenderer = function (renderer, src, interpolationPercentage, camera)
22
{
3-
if (this.renderMask !== this.renderFlags)
3+
if (this.renderMask !== this.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera._id)))
44
{
55
return;
66
}

0 commit comments

Comments
 (0)