private static void SaveScnx(TmxToScnxCommandLineArgs parsedArgs, TiledMapSave tms) { Console.WriteLine("Saving \"{0}\".", parsedArgs.DestinationFile); SceneSave spriteEditorScene = tms.ToSceneSave(parsedArgs.Scale); spriteEditorScene.FileName = parsedArgs.DestinationFile; spriteEditorScene.ScenePath = FileManager.GetDirectory(parsedArgs.DestinationFile); spriteEditorScene.AssetsRelativeToSceneFile = true; var result = spriteEditorScene.GetMissingFiles(); foreach (var missing in result) { Console.Error.WriteLine("Missing file: " + spriteEditorScene.ScenePath + missing); } spriteEditorScene.Save(parsedArgs.DestinationFile.Trim()); }
public void ToSceneSaveOrthogonalTest() { TiledMapSave.Offset = new Tuple<float, float, float>(0f, 0f, 0f); var target = new TiledMapSave() { height = 64, width = 64, tileheight = 32, tilewidth = 32, tileset = new List<mapTileset>() { new mapTileset { Firstgid = 1, Image = new mapTilesetImage[] { new mapTilesetImage { height = 64, width = 64, source = "../../../../../Program Files (x86)/Tiled/examples/tmw_desert_spacing.png" } }, Name = "tileset1", Tiles = new List<mapTilesetTile> { new mapTilesetTile { id = 0, properties = new List<property> { new property { name = "name", value = "tile1" } } }, new mapTilesetTile { id = 1, properties = new List<property> { new property { name = "name", value = "tile2" } } }, new mapTilesetTile { id = 2, properties = new List<property> { new property { name = "name", value = "tile3" } } }, new mapTilesetTile { id = 3, properties = new List<property> { new property { name = "name", value = "tile4" } } } }, Tileheight = 32, Tilewidth = 32 } }, Layers = new List<MapLayer>() { new MapLayer { Name = "layer1", data = new mapLayerData[] { new mapLayerData() { dataTiles = new mapLayerDataTile[] { new mapLayerDataTile { gid = "1" }, new mapLayerDataTile { gid = "3" }, new mapLayerDataTile { gid = "4" }, new mapLayerDataTile { gid = "2" }, } } } } }, orientation = "orthogonal" }; const float scale = 1F; SceneSave actual = target.ToSceneSave(scale); Assert.AreEqual(4, actual.SpriteList.Count); var tile = actual.SpriteList.SingleOrDefault(s => s.Name == "tile1"); Assert.IsNotNull(tile); Assert.AreEqual(16f, tile.X); Assert.AreEqual(-16, tile.Y); tile = actual.SpriteList.SingleOrDefault(s => s.Name == "tile2"); Assert.IsNotNull(tile); Assert.AreEqual(112f, tile.X); Assert.AreEqual(-16f, tile.Y); tile = actual.SpriteList.SingleOrDefault(s => s.Name == "tile3"); Assert.IsNotNull(tile); Assert.AreEqual(48f, tile.X); Assert.AreEqual(-16f, tile.Y); tile = actual.SpriteList.SingleOrDefault(s => s.Name == "tile4"); Assert.IsNotNull(tile); Assert.AreEqual(80f, tile.X); Assert.AreEqual(-16f, tile.Y); }