public Tileset(TMX.TilesetReference embeddedTileset) { this.name = embeddedTileset.name; this.tilewidth = embeddedTileset.tilewidth; this.tileheight = embeddedTileset.tileheight; this.tilecount = embeddedTileset.tilecount; this.columns = embeddedTileset.columns; this.grid = embeddedTileset.grid; this.tiles = embeddedTileset.tiles; this.image = embeddedTileset.image; }
static ImportedTile[] ImportEmbeddedTileset(TMX.TilesetReference embeddedTileset, string tilesetDir, string baseFolder, int cellWidth, int cellHeight, int pixelsPerUnit, out TSX.Tileset tilesetOut) { TSX.Tileset tileset = new TSX.Tileset(embeddedTileset); tilesetOut = tileset; if (!ImportUtils.CreateAssetFolderIfMissing(tilesetDir, true)) { return(null); } Debug.Log("Loading embedded tileset = " + tileset.name); return(ImportTileset(tileset, tilesetDir, baseFolder, cellWidth, cellHeight, pixelsPerUnit)); }
public static ImportedTileset ImportFromTilesetReference(TMX.TilesetReference tilesetReference, string baseFolder, string tilesetDir, int cellWidth, int cellHeight, int pixelsPerUnit) { // The source path in the tileset reference is recorded relative to the tmx TSX.Tileset actualTileset; ImportedTile[] importedTiles; if (tilesetReference.source != null) { string tsxPath = Path.Combine(baseFolder, tilesetReference.source); importedTiles = TiledTSXImporter.ImportTSXFile(tsxPath, tilesetDir, cellWidth, cellHeight, pixelsPerUnit, out actualTileset); } else { importedTiles = TiledTSXImporter.ImportEmbeddedTileset(tilesetReference, tilesetDir, baseFolder, cellWidth, cellHeight, pixelsPerUnit, out actualTileset); } if (importedTiles == null || (importedTiles.Length > 0 && importedTiles[0] == null)) { Debug.LogError("Failed to import tileset " + (tilesetReference.source != null ? tilesetReference.source : tilesetReference.name) + " properly..."); return(null); } return(new ImportedTileset(importedTiles, tilesetReference.firstgid, actualTileset)); }