UNPKG

ts-tiled-converter

Version:

Typescript library to convert tiled map to Studio map

40 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTilesetImageAndAnimatedTiles = void 0; var path_1 = require("path"); var readTileset_1 = require("./reader/readTileset"); var objects_1 = require("./tiledXML/objects"); var util_1 = require("./util"); var getTilesetImageAndAnimatedTiles = function (path) { try { var tileset = (0, util_1.throwIfError)((0, readTileset_1.readTileset)(path)); var tilesetImage = tileset.tileset.filter(function (i) { return 'image' in i; })[0]; if (!tilesetImage) throw new Error('Tileset without image'); var tilesetAnimatedTiles = tileset.tileset.filter(function (i) { return 'tile' in i; }).filter(function (i) { return i.tile.some(function (j) { return 'animation' in j; }); }); var animatedTiles = tilesetAnimatedTiles.map(function (tile) { var animation = tile.tile.find(function (i) { return 'animation' in i; }); return { tileId: (0, objects_1.getXMLProperties)(tile).id, frames: animation.animation.map(objects_1.getXMLProperties), }; }); var tilesetDirName = (0, path_1.dirname)(path); var _a = (0, objects_1.getXMLProperties)(tilesetImage), source = _a.source, trans = _a.trans; return { assetSource: { inTileset: source, pathIncludingMapDirname: "".concat(tilesetDirName, "/").concat(source), transparency: trans, }, animatedTiles: animatedTiles, }; } catch (error) { if (error instanceof Error) return error; return new Error("Unknown error: ".concat(JSON.stringify(error))); } }; exports.getTilesetImageAndAnimatedTiles = getTilesetImageAndAnimatedTiles; //# sourceMappingURL=getTilesetImageAndAnimatedTiles.js.map