Skip to content

Commit 48f1e60

Browse files
committed
Tilemap: reorder and add get/set layer
1 parent 84a86ae commit 48f1e60

1 file changed

Lines changed: 75 additions & 52 deletions

File tree

v3/src/gameobjects/tilemap/Tilemap.js

Lines changed: 75 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -41,58 +41,6 @@ var Tilemap = new Class({
4141
// TODO: debugging methods
4242
},
4343

44-
getLayer: function (layer)
45-
{
46-
var index = this.getLayerIndex(layer);
47-
return index !== null ? this.layers[index] : null;
48-
},
49-
50-
getLayerIndex: function (layer)
51-
{
52-
if (layer === undefined)
53-
{
54-
return this.currentLayer;
55-
}
56-
else if (typeof layer === 'string')
57-
{
58-
return this.getLayerIndexByName(layer);
59-
}
60-
else if (typeof layer === 'number' && layer < this.layers.length)
61-
{
62-
return layer;
63-
}
64-
else if (layer instanceof StaticTilemapLayer || layer instanceof DynamicTilemapLayer)
65-
{
66-
return layer.layerIndex;
67-
}
68-
else
69-
{
70-
return null;
71-
}
72-
},
73-
74-
getLayerIndexByName: function (name)
75-
{
76-
return this.getIndex(this.layers, name);
77-
},
78-
79-
getTilesetIndex: function (name)
80-
{
81-
return this.getIndex(this.tilesets, name);
82-
},
83-
84-
getIndex: function (location, name)
85-
{
86-
for (var i = 0; i < location.length; i++)
87-
{
88-
if (location[i].name === name)
89-
{
90-
return i;
91-
}
92-
}
93-
return null;
94-
},
95-
9644
addTilesetImage: function (tilesetName, key, tileWidth, tileHeight, tileMargin, tileSpacing, gid)
9745
{
9846
if (tilesetName === undefined) { return null; }
@@ -179,13 +127,88 @@ var Tilemap = new Class({
179127
return layer;
180128
},
181129

130+
getIndex: function (location, name)
131+
{
132+
for (var i = 0; i < location.length; i++)
133+
{
134+
if (location[i].name === name)
135+
{
136+
return i;
137+
}
138+
}
139+
return null;
140+
},
141+
142+
getLayer: function (layer)
143+
{
144+
var index = this.getLayerIndex(layer);
145+
return index !== null ? this.layers[index] : null;
146+
},
147+
148+
getLayerIndex: function (layer)
149+
{
150+
if (layer === undefined)
151+
{
152+
return this.currentLayer;
153+
}
154+
else if (typeof layer === 'string')
155+
{
156+
return this.getLayerIndexByName(layer);
157+
}
158+
else if (typeof layer === 'number' && layer < this.layers.length)
159+
{
160+
return layer;
161+
}
162+
else if (layer instanceof StaticTilemapLayer || layer instanceof DynamicTilemapLayer)
163+
{
164+
return layer.layerIndex;
165+
}
166+
else
167+
{
168+
return null;
169+
}
170+
},
171+
172+
getLayerIndexByName: function (name)
173+
{
174+
return this.getIndex(this.layers, name);
175+
},
176+
182177
getTileAt: function (x, y, layer, nonNull)
183178
{
184179
layer = this.getLayer(layer);
185180
if (layer === null) { return null; }
186181

187182
return TilemapComponents.GetTileAt(x, y, layer, nonNull);
183+
},
184+
185+
getTilesetIndex: function (name)
186+
{
187+
return this.getIndex(this.tilesets, name);
188+
},
189+
190+
layer: {
191+
get: function ()
192+
{
193+
return this.layers[this.currentLayer];
194+
},
195+
196+
set: function (layer)
197+
{
198+
this.setLayer(layer);
199+
}
200+
},
201+
202+
setLayer: function (layer)
203+
{
204+
var index = this.getLayerIndex(layer);
205+
if (index !== null)
206+
{
207+
this.currentLayer = index;
208+
}
209+
return this;
188210
}
211+
189212
});
190213

191214
module.exports = Tilemap;

0 commit comments

Comments
 (0)