2017-09-12 23:58:25 +00:00
|
|
|
var GameObject = require('../GameObject');
|
2018-01-25 00:15:51 +00:00
|
|
|
var Utils = require('../../renderer/webgl/Utils');
|
2017-09-12 23:58:25 +00:00
|
|
|
|
2018-01-25 00:15:51 +00:00
|
|
|
var TileSpriteWebGLRenderer = function (renderer, tileSprite, interpolationPercentage, camera)
|
2017-04-25 22:09:13 +00:00
|
|
|
{
|
2018-01-25 00:15:51 +00:00
|
|
|
if (GameObject.RENDER_MASK !== tileSprite.renderFlags || (tileSprite.cameraFilter > 0 && (tileSprite.cameraFilter & camera._id)))
|
2017-04-25 22:09:13 +00:00
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
2017-07-04 11:36:27 +00:00
|
|
|
|
2018-01-25 00:15:51 +00:00
|
|
|
tileSprite.updateTileTexture();
|
2017-07-04 11:36:27 +00:00
|
|
|
|
2018-01-25 00:15:51 +00:00
|
|
|
var getTint = Utils.getTintAppendFloatAlpha;
|
|
|
|
|
2018-01-29 21:46:48 +00:00
|
|
|
this.pipeline.batchTexture(
|
2018-01-25 00:15:51 +00:00
|
|
|
tileSprite.tileTexture,
|
|
|
|
tileSprite.frame.width, tileSprite.frame.height,
|
|
|
|
tileSprite.x, tileSprite.y,
|
|
|
|
tileSprite.width, tileSprite.height,
|
|
|
|
tileSprite.scaleX, tileSprite.scaleY,
|
|
|
|
tileSprite.rotation,
|
|
|
|
tileSprite.flipX, tileSprite.flipY,
|
|
|
|
tileSprite.scrollFactorX, tileSprite.scrollFactorY,
|
|
|
|
tileSprite.originX * tileSprite.width, tileSprite.originY * tileSprite.height,
|
|
|
|
0, 0, tileSprite.width, tileSprite.height,
|
|
|
|
getTint(tileSprite._tintTL, tileSprite._alphaTL),
|
|
|
|
getTint(tileSprite._tintTR, tileSprite._alphaTR),
|
|
|
|
getTint(tileSprite._tintBL, tileSprite._alphaBL),
|
|
|
|
getTint(tileSprite._tintBR, tileSprite._alphaBR),
|
|
|
|
tileSprite.tilePositionX / tileSprite.frame.width,
|
|
|
|
tileSprite.tilePositionY / tileSprite.frame.height,
|
|
|
|
camera
|
|
|
|
);
|
2017-04-25 22:09:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = TileSpriteWebGLRenderer;
|