148 lines
5.1 KiB
TypeScript
148 lines
5.1 KiB
TypeScript
|
import "jasmine";
|
||
|
import {Room} from "../../../src/Connexion/Room";
|
||
|
import {LayersIterator} from "../../../src/Phaser/Map/LayersIterator";
|
||
|
|
||
|
describe("Layers iterator", () => {
|
||
|
it("should iterate maps with no group", () => {
|
||
|
const layersIterator = new LayersIterator({
|
||
|
"compressionlevel":-1,
|
||
|
"height":2,
|
||
|
"infinite":false,
|
||
|
"layers":[
|
||
|
{
|
||
|
"data":[0, 0, 0, 0],
|
||
|
"height":2,
|
||
|
"id":1,
|
||
|
"name":"Tile Layer 1",
|
||
|
"opacity":1,
|
||
|
"type":"tilelayer",
|
||
|
"visible":true,
|
||
|
"width":2,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
},
|
||
|
{
|
||
|
"data":[0, 0, 0, 0],
|
||
|
"height":2,
|
||
|
"id":1,
|
||
|
"name":"Tile Layer 2",
|
||
|
"opacity":1,
|
||
|
"type":"tilelayer",
|
||
|
"visible":true,
|
||
|
"width":2,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
}],
|
||
|
"nextlayerid":2,
|
||
|
"nextobjectid":1,
|
||
|
"orientation":"orthogonal",
|
||
|
"renderorder":"right-down",
|
||
|
"tiledversion":"2021.03.23",
|
||
|
"tileheight":32,
|
||
|
"tilesets":[],
|
||
|
"tilewidth":32,
|
||
|
"type":"map",
|
||
|
"version":1.5,
|
||
|
"width":2
|
||
|
})
|
||
|
|
||
|
const layers = [];
|
||
|
for (const layer of layersIterator) {
|
||
|
layers.push(layer.name);
|
||
|
}
|
||
|
expect(layers).toEqual(['Tile Layer 1', 'Tile Layer 2']);
|
||
|
});
|
||
|
|
||
|
it("should iterate maps with recursive groups", () => {
|
||
|
const layersIterator = new LayersIterator({
|
||
|
"compressionlevel":-1,
|
||
|
"height":2,
|
||
|
"infinite":false,
|
||
|
"layers":[
|
||
|
{
|
||
|
"id":6,
|
||
|
"layers":[
|
||
|
{
|
||
|
"id":5,
|
||
|
"layers":[
|
||
|
{
|
||
|
"data":[0, 0, 0, 0],
|
||
|
"height":2,
|
||
|
"id":10,
|
||
|
"name":"Tile3",
|
||
|
"opacity":1,
|
||
|
"type":"tilelayer",
|
||
|
"visible":true,
|
||
|
"width":2,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
},
|
||
|
{
|
||
|
"data":[0, 0, 0, 0],
|
||
|
"height":2,
|
||
|
"id":9,
|
||
|
"name":"Tile2",
|
||
|
"opacity":1,
|
||
|
"type":"tilelayer",
|
||
|
"visible":true,
|
||
|
"width":2,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
}],
|
||
|
"name":"Group 3",
|
||
|
"opacity":1,
|
||
|
"type":"group",
|
||
|
"visible":true,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
},
|
||
|
{
|
||
|
"id":7,
|
||
|
"layers":[
|
||
|
{
|
||
|
"data":[0, 0, 0, 0],
|
||
|
"height":2,
|
||
|
"id":8,
|
||
|
"name":"Tile1",
|
||
|
"opacity":1,
|
||
|
"type":"tilelayer",
|
||
|
"visible":true,
|
||
|
"width":2,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
}],
|
||
|
"name":"Group 2",
|
||
|
"opacity":1,
|
||
|
"type":"group",
|
||
|
"visible":true,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
}],
|
||
|
"name":"Group 1",
|
||
|
"opacity":1,
|
||
|
"type":"group",
|
||
|
"visible":true,
|
||
|
"x":0,
|
||
|
"y":0
|
||
|
}],
|
||
|
"nextlayerid":11,
|
||
|
"nextobjectid":1,
|
||
|
"orientation":"orthogonal",
|
||
|
"renderorder":"right-down",
|
||
|
"tiledversion":"2021.03.23",
|
||
|
"tileheight":32,
|
||
|
"tilesets":[],
|
||
|
"tilewidth":32,
|
||
|
"type":"map",
|
||
|
"version":1.5,
|
||
|
"width":2
|
||
|
})
|
||
|
|
||
|
const layers = [];
|
||
|
for (const layer of layersIterator) {
|
||
|
layers.push(layer.name);
|
||
|
}
|
||
|
expect(layers).toEqual(['Group 1/Group 3/Tile3', 'Group 1/Group 3/Tile2', 'Group 1/Group 2/Tile1']);
|
||
|
});
|
||
|
});
|