Пример #1
0
    void loadMapFromXML(string mapName)
    {
        MapXMLContainer container = MapSaveLoad.Load(mapName);

        mapSize = container.size;

        for (int i = 0; i < mapTransform.childCount; i++)
        {
            Destroy(mapTransform.GetChild(i).gameObject);
        }

        for (int i = 0; i < mapSize; i++)
        {
            List <Tile> row = new List <Tile>();
            for (int j = 0; j < mapSize; j++)
            {
                Tile tile = Instantiate(PrefabHolder.instance.TILE_BASE_PREFAB, new Vector3(i - Mathf.Floor(mapSize / 2), 0, -j + Mathf.Floor(mapSize / 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);
        }
    }
    private void CreateMap()
    {
        CellMapXMLContainer container = MapSaveLoad.Load("map.xml");

        mapSize = container.size;

        //initially remove all children
        // for (int i = 0; i < mapTransform.childCount; i++)
        //{
        //    Destroy(mapTransform.GetChild(i).gameObject);
        //}

        map = new List <List <Cell> >();
        for (int i = 0; i < mapSize; i++)
        {
            List <Cell> row = new List <Cell>();
            for (int j = 0; j < mapSize; j++)
            {
                GameObject cellPrefab;
                cellPrefab = ((GameObject)Instantiate(PrefabHolder.instance.BASE_TILE_PREFAB.gameObject, new Vector3(i - Mathf.Floor(mapSize / 2), 0, -j + Mathf.Floor(mapSize / 2)), Quaternion.Euler(new Vector3())));
                Cell cell = cellPrefab.GetComponent <Cell>();
                cell.transform.parent = mapTransform;
                cell.gridPosition     = new Vector2(i, j);
                cell.type             = (CellType)(container.cells.Where(x => x.locX == i && x.locY == j).First().id);
                row.Add(cell);
            }
            map.Add(row);
        }
    }
Пример #3
0
    public static MapXmlContainer CreateMapContainer(List <List <Tile> > map, List <UnidadeNoTabuleiro> unidades, int linhas, int colunas)
    {
        List <TileXml>    tiles       = new List <TileXml>();
        List <UnidadeXml> unidadesXML = new List <UnidadeXml>();

        for (int i = 0; i < colunas; i++)
        {
            for (int j = 0; j < linhas; j++)
            {
                tiles.Add(MapSaveLoad.CreateTileXml(map[i][j]));
            }
        }
        foreach (UnidadeNoTabuleiro u in unidades)
        {
            unidadesXML.Add(MapSaveLoad.CreateUnidadeXml(u));
        }


        return(new MapXmlContainer()
        {
            lines = linhas,
            coluns = colunas,
            unidadesNoTabuleiro = unidadesXML,
            tiles = tiles
        });
    }
    private void loadMapFromXml()
    {
        CellMapXMLContainer container = MapSaveLoad.Load("map.xml");

        mapSize = container.size;

        //initially remove all children
        for (int i = 0; i < mapTransform.childCount; i++)
        {
            Destroy(mapTransform.GetChild(i).gameObject);
        }

        map = new List <List <Cell> >();
        for (int i = 0; i < mapSize; i++)
        {
            List <Cell> row = new List <Cell>();
            for (int j = 0; j < mapSize; j++)
            {
                Cell tile = ((GameObject)Instantiate(PrefabHolder.instance.BASE_TILE_PREFAB, new Vector3(i - Mathf.Floor(mapSize / 2), 0, -j + Mathf.Floor(mapSize / 2)), Quaternion.Euler(new Vector3()))).GetComponent <Cell>();
                tile.transform.parent = mapTransform;
                tile.gridPosition     = new Vector2(i, j);
                tile.setType((CellType)container.cells.Where(x => x.locX == i && x.locY == j).First().id);
                row.Add(tile);
            }
            map.Add(row);
        }
    }
Пример #5
0
    //建立網格背景
    private void ConstructGraphView()
    {
        graphView = new LevelFlowGraphView(this);
        graphView.StretchToParentSize();
        rootVisualElement.Add(graphView);

        mapSaveLoad = new MapSaveLoad(graphView);
    }
Пример #6
0
    public static MapXMLContainer CreateMapContainer(List <List <Tile> > map)
    {
        List <TileXML> tiles = new List <TileXML>();

        for (int i = 0; i < map.Count; i++)
        {
            for (int j = 0; j < map[i].Count; j++)
            {
                tiles.Add(MapSaveLoad.CreateTileXML(map[i][j]));
            }
        }
        return(new MapXMLContainer()
        {
            size = map.Count,
            tiles = tiles
        });
    }
Пример #7
0
    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);
    }
Пример #8
0
 void saveMapFromXML()
 {
     MapSaveLoad.Save(MapSaveLoad.CreateMapContainer(map), "map2");
     SavingMap = "map2";
 }
Пример #9
0
    public void popularInteligencia()
    {
        if (!inteligenciaHolder.activeSelf)
        {
            inteligenciaHolder.SetActive(true);
        }
        if (suprimentosHolder.activeSelf)
        {
            suprimentosHolder.SetActive(false);
        }
        List <Unidade> inimigosNoJogo   = new List <Unidade>();
        int            numeroDeInimigos = 0;
        int            numeroDeSuporte  = 0;

        MapXmlContainer container;

        container = MapSaveLoad.OnGameLoad(1);
        foreach (UnidadeXml uXML in container.unidadesNoTabuleiro)
        {
            inimigosNoJogo.Add(BancoDeDados.instancia.retornarUnidade(uXML.id));
        }
        container = MapSaveLoad.OnGameLoad(2);
        foreach (UnidadeXml uXML in container.unidadesNoTabuleiro)
        {
            numeroDeSuporte++;
            inimigosNoJogo.Add(BancoDeDados.instancia.retornarUnidade(uXML.id));
        }
        container = MapSaveLoad.OnGameLoad(3);
        foreach (UnidadeXml uXML in container.unidadesNoTabuleiro)
        {
            inimigosNoJogo.Add(BancoDeDados.instancia.retornarUnidade(uXML.id));
        }

        numeroDeInimigos = inimigosNoJogo.Count;


        classeMajoritaria.text     = VerificarClasseMajoritariaOuMinoritaria(inimigosNoJogo, true).ToString();
        classeMinoritaria.text     = VerificarClasseMajoritariaOuMinoritaria(inimigosNoJogo, false).ToString();
        this.numeroDeInimigos.text = numeroDeInimigos.ToString();
        this.numeroDeSuporte.text  = numeroDeSuporte.ToString();
        if (!opcoesDeAtaque.activeSelf)
        {
            opcoesDeAtaque.SetActive(true);
        }
        if (opcoesDeSuprimento.activeSelf)
        {
            opcoesDeSuprimento.SetActive(false);
        }

        if (GameController.instancia.primeiroBatalhao.Count == 0)
        {
            Blitz.interactable = false;
        }
        else
        {
            Blitz.interactable = true;
        }

        if ((GameController.instancia.segundoBatalhao.Count + GameController.instancia.terceiroBatalhao.Count) == 0)
        {
            Organizada.interactable = false;
        }
        else
        {
            Organizada.interactable = true;
        }
    }
 void saveMapToXml()
 {
     MapSaveLoad.Save(MapSaveLoad.CreateMapContainer(map), "map.xml");
 }
Пример #11
0
 void saveMapToXml(string s)
 {
     MapSaveLoad.Save(MapSaveLoad.CreateMapContainer(map), s);
 }
Пример #12
0
 public void UISaveMap(string s)
 {
     MapSaveLoad.Save(MapSaveLoad.CreateMapContainer(map), s);
 }
Пример #13
0
 public void saveMapToXml(string nome)
 {
     MapSaveLoad.Save(MapSaveLoad.CreateMapContainer(tabuleiro, unidadesNoTabuleiro, linhas, colunas), nome + ".xml");
 }