Skip to content

Commit 74842aa

Browse files
committed
Tilemap & Layers: hasTileAt & better naming
1 parent 1be6847 commit 74842aa

6 files changed

Lines changed: 43 additions & 12 deletions

File tree

v3/src/gameobjects/tilemap/Tilemap.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,19 +174,27 @@ var Tilemap = new Class({
174174
return this.getIndex(this.layers, name);
175175
},
176176

177-
getTileAt: function (x, y, layer, nonNull)
177+
getTileAt: function (tileX, tileY, layer, nonNull)
178178
{
179179
layer = this.getLayer(layer);
180180
if (layer === null) { return null; }
181181

182-
return TilemapComponents.GetTileAt(x, y, layer, nonNull);
182+
return TilemapComponents.GetTileAt(tileX, tileY, layer, nonNull);
183183
},
184184

185185
getTilesetIndex: function (name)
186186
{
187187
return this.getIndex(this.tilesets, name);
188188
},
189189

190+
hasTileAt: function (tileX, tileY, layer)
191+
{
192+
layer = this.getLayer(layer);
193+
if (layer === null) { return null; }
194+
195+
return TilemapComponents.HasTileAt(tileX, tileY, layer);
196+
},
197+
190198
layer: {
191199
get: function ()
192200
{

v3/src/gameobjects/tilemap/components/GetTileAt.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
var GetTileAt = function (x, y, layer, nonNull)
1+
var GetTileAt = function (tileX, tileY, layer, nonNull)
22
{
33
if (nonNull === undefined) { nonNull = false; }
44

5-
if (x >= 0 && x < layer.width && y >= 0 && y < layer.height)
5+
if (tileX >= 0 && tileX < layer.width && tileY >= 0 && tileY < layer.height)
66
{
7-
var tile = layer.data[y][x];
7+
var tile = layer.data[tileY][tileX];
88
if (tile.index === -1)
99
{
1010
return nonNull ? tile : null;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var HasTileAt = function (tileX, tileY, layer)
2+
{
3+
if (layer.data[tileY] === undefined || layer.data[tileY][tileX] === undefined)
4+
{
5+
return false;
6+
}
7+
8+
var tile = layer.data[tileY][tileX];
9+
return (tile !== null && tile.index > -1);
10+
};
11+
12+
module.exports = HasTileAt;
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = {
22

3-
GetTileAt: require('./GetTileAt')
3+
GetTileAt: require('./GetTileAt'),
4+
HasTileAt: require('./HasTileAt')
45

56
};

v3/src/gameobjects/tilemap/dynamiclayer/DynamicTilemapLayer.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var Class = require('../../../utils/Class');
22
var GameObject = require('../../GameObject');
33
var Components = require('../../components');
44
var DynamicTilemapLayerRender = require('./DynamicTilemapLayerRender');
5-
var TileComponents = require('../components');
5+
var TilemapComponents = require('../components');
66

77
var DynamicTilemapLayer = new Class({
88

@@ -96,9 +96,14 @@ var DynamicTilemapLayer = new Class({
9696
return culledTiles;
9797
},
9898

99-
getTileAt: function (x, y, nonNull)
99+
getTileAt: function (tileX, tileY, nonNull)
100100
{
101-
return TileComponents.GetTileAt(x, y, this.layer, nonNull);
101+
return TilemapComponents.GetTileAt(tileX, tileY, this.layer, nonNull);
102+
},
103+
104+
hasTileAt: function (tileX, tileY)
105+
{
106+
return TilemapComponents.HasTileAt(tileX, tileY, this.layer);
102107
}
103108

104109
// forEach: function (callback)

v3/src/gameobjects/tilemap/staticlayer/StaticTilemapLayer.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var GameObject = require('../../GameObject');
33
var Components = require('../../components');
44
var CONST = require('../../../renderer/webgl/renderers/tilemaprenderer/const');
55
var StaticTilemapLayerRender = require('./StaticTilemapLayerRender');
6-
var TileComponents = require('../components');
6+
var TilemapComponents = require('../components');
77

88
var StaticTilemapLayer = new Class({
99

@@ -269,9 +269,14 @@ var StaticTilemapLayer = new Class({
269269
}
270270
},
271271

272-
getTileAt: function (x, y, nonNull)
272+
getTileAt: function (tileX, tileY, nonNull)
273273
{
274-
return TileComponents.GetTileAt(x, y, this.layer, nonNull);
274+
return TilemapComponents.GetTileAt(tileX, tileY, this.layer, nonNull);
275+
},
276+
277+
hasTileAt: function (tileX, tileY)
278+
{
279+
return TilemapComponents.HasTileAt(tileX, tileY, this.layer);
275280
}
276281

277282
});

0 commit comments

Comments
 (0)