|
1 | | -var GenerateEmptyMapData = require('../GenerateEmptyMapData'); |
2 | 1 | var Formats = require('../Formats'); |
3 | | -var Tile = require('../Tile'); |
| 2 | +var Parse2DArray = require('./Parse2DArray'); |
4 | 3 |
|
5 | 4 | var ParseCSV = function (key, data, tileWidth, tileHeight) |
6 | 5 | { |
7 | | - var map = GenerateEmptyMapData(tileWidth, tileHeight); |
8 | | - |
9 | | - var output = []; |
10 | | - var rows = data.trim().split('\n'); |
11 | | - var height = rows.length; |
12 | | - var width = 0; |
13 | | - |
14 | | - for (var y = 0; y < rows.length; y++) |
15 | | - { |
16 | | - output[y] = []; |
17 | | - |
18 | | - var column = rows[y].split(','); |
19 | | - |
20 | | - for (var x = 0; x < column.length; x++) |
21 | | - { |
22 | | - output[y][x] = new Tile(map.layers[0], parseInt(column[x], 10), x, y, tileWidth, tileHeight); |
23 | | - } |
24 | | - |
25 | | - if (width === 0) |
26 | | - { |
27 | | - width = column.length; |
28 | | - } |
29 | | - } |
| 6 | + var array2D = data |
| 7 | + .trim() |
| 8 | + .split('\n') |
| 9 | + .map(function (row) { return row.split(','); }); |
30 | 10 |
|
| 11 | + var map = Parse2DArray(key, array2D, tileWidth, tileHeight); |
31 | 12 | map.format = Formats.TILEMAP_CSV; |
32 | | - map.name = key; |
33 | | - map.width = width; |
34 | | - map.height = height; |
35 | | - map.tileWidth = tileWidth; |
36 | | - map.tileHeight = tileHeight; |
37 | | - map.widthInPixels = width * tileWidth; |
38 | | - map.heightInPixels = height * tileHeight; |
39 | | - |
40 | | - map.layers[0].width = width; |
41 | | - map.layers[0].height = height; |
42 | | - map.layers[0].widthInPixels = map.widthInPixels; |
43 | | - map.layers[0].heightInPixels = map.heightInPixels; |
44 | | - map.layers[0].data = output; |
45 | 13 |
|
46 | 14 | return map; |
47 | 15 | }; |
|
0 commit comments