Merge remote-tracking branch 'remotes/upstream/develop' into tiles-start-positions
This commit is contained in:
commit
7f61e9addd
182 changed files with 17118 additions and 4494 deletions
|
@ -1,147 +1,155 @@
|
|||
import "jasmine";
|
||||
import {Room} from "../../../src/Connexion/Room";
|
||||
import {LayersIterator} from "../../../src/Phaser/Map/LayersIterator";
|
||||
import { Room } from "../../../src/Connexion/Room";
|
||||
import { flattenGroupLayersMap } from "../../../src/Phaser/Map/LayersFlattener";
|
||||
import type { ITiledMapLayer } from "../../../src/Phaser/Map/ITiledMap";
|
||||
|
||||
describe("Layers iterator", () => {
|
||||
describe("Layers flattener", () => {
|
||||
it("should iterate maps with no group", () => {
|
||||
const layersIterator = new LayersIterator({
|
||||
"compressionlevel":-1,
|
||||
"height":2,
|
||||
"infinite":false,
|
||||
"layers":[
|
||||
let flatLayers: ITiledMapLayer[] = [];
|
||||
flatLayers = flattenGroupLayersMap({
|
||||
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 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
|
||||
})
|
||||
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) {
|
||||
for (const layer of flatLayers) {
|
||||
layers.push(layer.name);
|
||||
}
|
||||
expect(layers).toEqual(['Tile Layer 1', 'Tile Layer 2']);
|
||||
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":[
|
||||
let flatLayers: ITiledMapLayer[] = [];
|
||||
flatLayers = flattenGroupLayersMap({
|
||||
compressionlevel: -1,
|
||||
height: 2,
|
||||
infinite: false,
|
||||
layers: [
|
||||
{
|
||||
"id":6,
|
||||
"layers":[
|
||||
id: 6,
|
||||
layers: [
|
||||
{
|
||||
"id":5,
|
||||
"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: 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
|
||||
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":[
|
||||
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
|
||||
})
|
||||
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) {
|
||||
for (const layer of flatLayers) {
|
||||
layers.push(layer.name);
|
||||
}
|
||||
expect(layers).toEqual(['Group 1/Group 3/Tile3', 'Group 1/Group 3/Tile2', 'Group 1/Group 2/Tile1']);
|
||||
expect(layers).toEqual(["Group 1/Group 3/Tile3", "Group 1/Group 3/Tile2", "Group 1/Group 2/Tile1"]);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue