public static void ExportAreas(string fullPath) { // create the serialized level var sLevels = new Serialized[510]; for (int i = 0; i < sLevels.Length; i++) { sLevels[i] = new Serialized(); sLevels[i].Layering = Areas[i].Layering; sLevels[i].MapNum = Areas[i].Map; var map = Maps[Areas[i].Map]; sLevels[i].Map = map;// Add it to serialized level data object sLevels[i].TilesetL1 = Tilesets[map.TilesetL1 + 0x20]; sLevels[i].TilesetL2 = Tilesets[map.TilesetL2 + 0x20]; sLevels[i].TilesetL3 = Tilesets[map.TilesetL3]; sLevels[i].TilemapL1 = Tilemaps[map.TilemapL1 + 0x40]; sLevels[i].TilemapL2 = Tilemaps[map.TilemapL2 + 0x40]; sLevels[i].TilemapL3 = Tilemaps[map.TilemapL3]; sLevels[i].CollisionMap = CollisionMaps[map.CollisionMap]; sLevels[i].NPCs = Areas[i].NPCObjects; sLevels[i].Exits = Areas[i].ExitTriggers; sLevels[i].Events = Areas[i].EventTriggers; sLevels[i].Overlaps = Areas[i].Overlaps; } // finally export the serialized levels Do.Export(sLevels, fullPath + "\\" + LazyShell.Model.GetFileNameWithoutPath() + " - Areas\\" + "area", "AREA", true); }
// IO elements public static void ExportArea(int index, string fullPath) { // create the serialized level var sLevel = new Serialized(); sLevel.Layering = Areas[index].Layering; sLevel.MapNum = Areas[index].Map; var lMap = Maps[Areas[index].Map]; sLevel.Map = lMap;// Add it to serialized level data object sLevel.TilesetL1 = Tilesets[lMap.TilesetL1 + 0x20]; sLevel.TilesetL2 = Tilesets[lMap.TilesetL2 + 0x20]; sLevel.TilesetL3 = Tilesets[lMap.TilesetL3]; sLevel.TilemapL1 = Tilemaps[lMap.TilemapL1 + 0x40]; sLevel.TilemapL2 = Tilemaps[lMap.TilemapL2 + 0x40]; sLevel.TilemapL3 = Tilemaps[lMap.TilemapL3]; sLevel.CollisionMap = CollisionMaps[lMap.CollisionMap]; sLevel.NPCs = Areas[index].NPCObjects; sLevel.Exits = Areas[index].ExitTriggers; sLevel.Events = Areas[index].EventTriggers; sLevel.Overlaps = Areas[index].Overlaps; // finally export the serialized levels Do.Export(sLevel, null, fullPath); }