public void add_region(Region region) { try { if (region == null) return; ProjectRegion tmp = new ProjectRegion(); tmp.name = region.name; tmp.setor = new int[4]; tmp.setor[0] = region.map_width; tmp.setor[1] = region.map_height; tmp.setor[2] = region.tile_width; tmp.setor[3] = region.tile_height; tmp.layer = new ProjectLayer[region.layer.Count]; int i; for (i = 0; i < region.layer.Count; i++) { Layer layer = region.layer[i]; ProjectLayer tmpLayer = new ProjectLayer(); tmpLayer.name = layer.name; tmpLayer.visible = layer.visible; int num = 0; foreach (Dictionary<int, Tile> list in layer.tiles.Values) num += list.Count; tmpLayer.tiles = new ProjectTile[num]; int j = 0; foreach (int x in layer.tiles.Keys) { Dictionary<int, Tile> list = layer.tiles[x]; foreach (int y in list.Keys) { Tile tile = list[y]; ProjectTile tmpTile = new ProjectTile(); tmpTile.point = new int[2]; tmpTile.point[0] = x; tmpTile.point[1] = y; tmpTile.tile_code = tile.tile_code; tmpTile.tile_crop = tile.tile_crop; tmpTile.tileset_code = tile.tileset_code; tmpLayer.tiles[j] = tmpTile; j++; } } num = 0; foreach (Dictionary<int, int> list in layer.evento.Values) num += list.Count; tmpLayer.events = new int[num, 3]; j = 0; foreach (int x in layer.evento.Keys) { Dictionary<int, int> list = layer.evento[x]; foreach (int y in list.Keys) { int code = list[y]; tmpLayer.events[j, 0] = code; tmpLayer.events[j, 1] = x; tmpLayer.events[j, 2] = y; j++; } } tmp.layer[i] = tmpLayer; } regions.Add(tmp); } catch (Exception ex) { string error = ex.Message; } }
public void add_region(Region region) { try { if (region == null) { return; } ProjectRegion tmp = new ProjectRegion(); tmp.name = region.name; tmp.setor = new int[4]; tmp.setor[0] = region.map_width; tmp.setor[1] = region.map_height; tmp.setor[2] = region.tile_width; tmp.setor[3] = region.tile_height; tmp.layer = new ProjectLayer[region.layer.Count]; int i; for (i = 0; i < region.layer.Count; i++) { Layer layer = region.layer[i]; ProjectLayer tmpLayer = new ProjectLayer(); tmpLayer.name = layer.name; tmpLayer.visible = layer.visible; int num = 0; foreach (Dictionary <int, Tile> list in layer.tiles.Values) { num += list.Count; } tmpLayer.tiles = new ProjectTile[num]; int j = 0; foreach (int x in layer.tiles.Keys) { Dictionary <int, Tile> list = layer.tiles[x]; foreach (int y in list.Keys) { Tile tile = list[y]; ProjectTile tmpTile = new ProjectTile(); tmpTile.point = new int[2]; tmpTile.point[0] = x; tmpTile.point[1] = y; tmpTile.tile_code = tile.tile_code; tmpTile.tile_crop = tile.tile_crop; tmpTile.tileset_code = tile.tileset_code; tmpLayer.tiles[j] = tmpTile; j++; } } num = 0; foreach (Dictionary <int, int> list in layer.evento.Values) { num += list.Count; } tmpLayer.events = new int[num, 3]; j = 0; foreach (int x in layer.evento.Keys) { Dictionary <int, int> list = layer.evento[x]; foreach (int y in list.Keys) { int code = list[y]; tmpLayer.events[j, 0] = code; tmpLayer.events[j, 1] = x; tmpLayer.events[j, 2] = y; j++; } } tmp.layer[i] = tmpLayer; } regions.Add(tmp); } catch (Exception ex) { string error = ex.Message; } }