void loadMapFromXml() { MapXmlContainer container = MapSaveLoad.Load("map.xml"); mapSizeX = container.sizeX; mapSizeY = container.sizeY; //initially remove all children for (int i = 0; i < mapTransform.childCount; i++) { Destroy(mapTransform.GetChild(i).gameObject); } map = new List <List <Tile> >(); for (int i = 0; i < mapSizeX; i++) { List <Tile> row = new List <Tile>(); for (int j = 0; j < mapSizeY; j++) { Tile tile = ((GameObject)Instantiate(PrefabHolder.instance.BASE_TILE_PREFAB, new Vector3(i - Mathf.Floor(mapSizeX / 2), 0, -j + Mathf.Floor(mapSizeY / 2)), Quaternion.Euler(new Vector3()))).GetComponent <Tile>(); tile.transform.parent = mapTransform; tile.gridPosition = new Vector2(i, j); tile.setType((TileType)container.tiles.Where(x => x.locX == i && x.locY == j).First().id); row.Add(tile); } map.Add(row); } }
public static void Save(MapXmlContainer mapContainer, string filename) { var serializer = new XmlSerializer(typeof(MapXmlContainer)); using(var stream = new FileStream(filename, FileMode.Create)) { serializer.Serialize(stream, mapContainer); } }
public static void Save(MapXmlContainer mapContainer, string filename) { var serializer = new XmlSerializer(typeof(MapXmlContainer)); using (var stream = new FileStream(filename, FileMode.Create)) { serializer.Serialize(stream, mapContainer); } }
public static void Save(MapXmlContainer mapContainer, string filename) { var serializer = new XmlSerializer(typeof(MapXmlContainer)); using (var stream = new FileStream(filename, FileMode.Create)) { var xmlWriter = new XmlTextWriter(stream, Encoding.UTF8); serializer.Serialize(xmlWriter, mapContainer); } }
public static MapXmlContainer LoadMapDataFromResources(string filename) { var serializer = new XmlSerializer(typeof(MapXmlContainer)); TextAsset textAsset = (TextAsset)Resources.Load(filename, typeof(TextAsset)); MemoryStream assetStream = new MemoryStream(textAsset.bytes); MapXmlContainer container = serializer.Deserialize(assetStream) as MapXmlContainer; assetStream.Close(); return(container); }
public static void Save(MapXmlContainer mapContainer, string filename) { var serializer = new XmlSerializer(typeof(MapXmlContainer)); string qualMundo = Regex.Match(filename, @"\d+").Value; int world = Int32.Parse(qualMundo); filename = Application.dataPath + "/Resources/XML/Mapas/World" + world + "/" + filename; using (var stream = new FileStream(filename, FileMode.Create)){ serializer.Serialize(stream, mapContainer); } }
public static void SaveMapData(List <Tile> map, string filename) { MapXmlContainer mapContainer = SaveLoad.CreateMapContainer(map); var serializer = new XmlSerializer(typeof(MapXmlContainer)); var encoding = Encoding.GetEncoding("UTF-8"); using (var stream = new StreamWriter(filename, false, encoding)) { serializer.Serialize(stream, mapContainer); } }
public void loadMapFromXml(string nome) { MapXmlContainer container = MapSaveLoad.MapBuildLoad(nome + ".xml"); colunas = container.coluns; linhas = container.lines; destruirTabuleiroAtual(); for (int i = 0; i < colunas; i++) { List <Tile> row = new List <Tile>(); for (int j = 0; j < linhas; j++) { Tile tile = ((GameObject)Instantiate(tilePrefab, new Vector3(i - Mathf.Floor(linhas / 2), 0, -j + Mathf.Floor(colunas / 2)), Quaternion.Euler(new Vector3()))).GetComponent <Tile>(); tile.transform.parent = mapHolder.transform; tile.noConstrutor = true; tile.posicaoNoTabuleiro = new Vector2(i, j); tile.setarTipoeVisual((TileType)container.tiles.Where(x => x.locX == i && x.locY == j).First().id); tile.setarMecanicaeVisual((TileMechanic)container.tiles.Where(x => x.locX == i && x.locY == j).First().mechanic); row.Add(tile); } tabuleiro.Add(row); } foreach (UnidadeXml uXML in container.unidadesNoTabuleiro) { UnidadeNoTabuleiro unidadeNova = ((GameObject)Instantiate(unidadePrefab, tabuleiro[uXML.locX][uXML.locY].transform.position + 1 * Vector3.up, Quaternion.Euler(new Vector3(90, 0, 0)))).GetComponent <UnidadeNoTabuleiro>(); unidadeNova.gridPosition = new Vector2(uXML.locX, uXML.locY); unidadeNova.unidadeAssociada = BancoDeDados.instancia.retornarUnidade(uXML.id); unidadeNova.gameObject.GetComponent <Animator>().runtimeAnimatorController = controladoresInimigos[(int)unidadeNova.unidadeAssociada.classe]; //Aqui so entrarão unidades que vão estar contra você no jogo, então sempre serão inimigos unidadeNova.inimigo = true; tabuleiro[uXML.locX][uXML.locY].ocupado = true; unidadesNoTabuleiro.Add(unidadeNova); } configurarCameraParaNovoTabuleiro(tabuleiro); }
public static void LoadMap(List <Tile> map, GameObject mapObject) { //MapXmlContainer loadData = SaveLoad.LoadMapData(Path.Combine(Application.dataPath, @"Resources\" + "Maps.Xml")); //For Window MapXmlContainer loadData = SaveLoad.LoadMapData(Path.Combine(Application.dataPath, @"Resources/" + "Maps.Xml")); int subSpriteCount = 0; for (int i = 0; i < loadData.tiles.Count; i++) { TileXml data = loadData.tiles[i]; Tile tile = ((GameObject)Transform.Instantiate(PrefabHolder.Instance.Tile)).GetComponent <Tile>(); tile.tileId = i; tile.rowNb = data.rowNb; tile.colNb = data.colNb; tile.transform.position = new Vector3(data.locX / 10.0f, data.locY / 10.0f, tile.rowNb * 1 - tile.colNb * 0.1f); tile.hasSubSprite = data.hasSub == 1; tile.height = data.height; tile.transform.parent = mapObject.transform; if (tile.hasSubSprite) { //tile.transform.GetChild (0).gameObject.SetActive (true); tile.GetComponent <SpriteRenderer>().sprite = AssetHolder.Instance.Map2SubSprite[subSpriteCount]; subSpriteCount++; } map.Add(tile); } for (int i = 0; i < loadData.tiles.Count; i++) { Tile tile = map[i]; TileXml data = loadData.tiles[i]; tile.neighbours[0] = data.neighbor0 != -9 ? map[data.neighbor0] : null; tile.neighbours[1] = data.neighbor1 != -9 ? map[data.neighbor1] : null; tile.neighbours[2] = data.neighbor2 != -9 ? map[data.neighbor2] : null; tile.neighbours[3] = data.neighbor3 != -9 ? map[data.neighbor3] : null; } }