Make tileset the source of truth for texture in both tilemap layers

This commit is contained in:
Michael Hadley 2018-01-16 19:48:17 -06:00
parent 814e5af815
commit e9ab1725f3
6 changed files with 7 additions and 15 deletions

View file

@ -17,7 +17,6 @@ var DynamicTilemapLayer = new Class({
Components.RenderTarget,
Components.ScaleMode,
Components.Size,
Components.Texture,
Components.Transform,
Components.Visible,
Components.ScrollFactor,
@ -90,9 +89,7 @@ var DynamicTilemapLayer = new Class({
this.culledTiles = [];
this.setAlpha(this.layer.alpha);
this.setTexture(tileset.image.key);
this.setPosition(x, y);
this.setSizeToFrame();
this.setOrigin();
this.setSize(this.layer.tileWidth * this.layer.width, this.layer.tileHeight * this.layer.height);
},

View file

@ -11,7 +11,7 @@ var DynamicTilemapLayerCanvasRenderer = function (renderer, gameObject, interpol
var renderTiles = gameObject.culledTiles;
var length = renderTiles.length;
var image = gameObject.frame.source.image;
var image = gameObject.tileset.image.getSourceImage();
var tileset = this.tileset;
var tx = gameObject.x - camera.scrollX * gameObject.scrollFactorX;

View file

@ -12,7 +12,7 @@ var DynamicTilemapLayerWebGLRenderer = function (renderer, gameObject, interpola
var renderTiles = gameObject.culledTiles;
var length = renderTiles.length;
var batch = renderer.spriteBatch;
var texture = gameObject.texture.source[0].glTexture;
var texture = gameObject.tileset.image.get().source.glTexture;
var textureWidth = texture.width;
var textureHeight = texture.height;
var tileset = this.tileset;

View file

@ -18,7 +18,6 @@ var StaticTilemapLayer = new Class({
Components.RenderTarget,
Components.ScaleMode,
Components.Size,
Components.Texture,
Components.Transform,
Components.Visible,
Components.ScrollFactor,
@ -99,9 +98,7 @@ var StaticTilemapLayer = new Class({
this.vertexCount = 0;
this.setAlpha(this.layer.alpha);
this.setTexture(tileset.image.key);
this.setPosition(x, y);
this.setSizeToFrame();
this.setOrigin();
this.setSize(this.layer.tileWidth * this.layer.width, this.layer.tileHeight * this.layer.height);
@ -113,7 +110,6 @@ var StaticTilemapLayer = new Class({
*/
contextRestore: function (renderer)
{
this.tileTexture = null;
this.dirty = true;
this.vbo = null;
this.gl = renderer.gl;
@ -131,8 +127,8 @@ var StaticTilemapLayer = new Class({
var tileset = this.tileset;
var mapWidth = this.layer.width;
var mapHeight = this.layer.height;
var width = this.texture.source[0].width;
var height = this.texture.source[0].height;
var width = tileset.image.get().width;
var height = tileset.image.get().height;
var mapData = this.layer.data;
var tile;

View file

@ -12,10 +12,9 @@ var StaticTilemapLayerCanvasRenderer = function (renderer, gameObject, interpola
var renderTiles = gameObject.culledTiles;
var tileset = this.tileset;
var frame = gameObject.frame;
var ctx = renderer.gameContext;
var tileCount = renderTiles.length;
var image = frame.source.image;
var image = tileset.image.getSourceImage();
var tx = gameObject.x - camera.scrollX * gameObject.scrollFactorX;
var ty = gameObject.y - camera.scrollY * gameObject.scrollFactorY;

View file

@ -8,10 +8,10 @@ var StaticTilemapLayerWebGLRenderer = function (renderer, src, interpolationPerc
}
var gameObject = src;
var frame = gameObject.frame;
var gl = gameObject.gl;
var frame = gameObject.tileset.image.get();
renderer.setRenderer(gameObject.tilemapRenderer, frame.texture.source[frame.sourceIndex].glTexture, gameObject.renderTarget);
renderer.setRenderer(gameObject.tilemapRenderer, frame.source.glTexture, gameObject.renderTarget);
gameObject.tilemapRenderer.bind();
gameObject.upload(camera);