コード例 #1
0
    public static void BuildMapFromStringArrayList(List <string[]> mapInStrings, MapBiome biomeType)
    {
        generationMap = GenerationManager.instance.GetGameMap();
        GenerationManager.instance.Height = mapInStrings.Count;
        GenerationManager.instance.Width  = mapInStrings.Count;

        switch (mapInStrings.Count)
        {
        case 72:
            GenerationManager.instance.SetTopDownPos(36F, 36.5F, 65F);
            break;

        case 96:
            GenerationManager.instance.SetTopDownPos(47.7F, 48.3F, 85F);
            break;

        case 120:
            GenerationManager.instance.SetTopDownPos(58.2F, 60F, 105F);
            break;

        case 144:
            GenerationManager.instance.SetTopDownPos(69.3F, 72.4F, 130F);
            break;

        case 200:
            GenerationManager.instance.SetTopDownPos(98.1F, 100F, 175F);
            break;

        case 255:
            GenerationManager.instance.SetTopDownPos(123.3F, 126.5F, 225F);
            break;

        default:

            break;
        }



        generationMap.CreateEmptyMap(mapInStrings.Count);
        GenerationManager.instance.forestGenerator.ResetTrees();

        BiomeTileSet biome = GenerationManager.instance.tilePool.GetBiomeTileSetFromBiomeType(biomeType);

        GenerationManager.instance.SelectedMapBiome = biomeType;


        Tile waterTile    = biome.Water;
        Tile shallowsTile = biome.Shallows;
        Tile roadTile     = biome.Road;
        Tile iceTile      = biome.Ice;

        Tile groundTile  = biome.GroundTiles[0];
        Tile groundTile2 = null;
        Tile groundTile3 = null;

        if (biome.GroundTiles.Length > 1)
        {
            groundTile2 = biome.GroundTiles[1];
        }
        if (biome.GroundTiles.Length > 2)
        {
            groundTile3 = biome.GroundTiles[2];
        }

        int y = mapInStrings.Count - 1;

        foreach (string[] row in mapInStrings)
        {
            int x = 0;//
            foreach (string mapTile in row)
            {
                MapPoint mp = new MapPoint(x, y);
                if (mapTile == "G")
                {
                    generationMap.AddTile(groundTile, mp);
                }
                else if (mapTile == "2G" || mapTile == "G2")
                {
                    generationMap.AddTile(groundTile2, mp);
                }
                else if (mapTile == "3G")
                {
                    generationMap.AddTile(groundTile3, mp);
                }
                else if (mapTile == "T")
                {
                    generationMap.AddTile(groundTile, mp);
                    generationMap.AddTree(0, mp);
                }
                else if (mapTile == "W")
                {
                    generationMap.AddTile(waterTile, mp);
                }
                else if (mapTile == "S")
                {
                    generationMap.AddTile(shallowsTile, mp);
                }
                else if (mapTile == "R")
                {
                    generationMap.AddTile(roadTile, mp);
                }
                else if (mapTile == "I")
                {
                    generationMap.AddTile(iceTile, mp);
                }
                x++;
            }
            y--;
        }

        generationMap.ApplySandNextToWater();
        generationMap.GenerateMap();
        GenerationManager.instance.MoveGamePlayCam();
    }
コード例 #2
0
    public static string[] WriteMapToStringArrays(GameMap _mapToSave)
    {
        BiomeTileSet biome = GenerationManager.instance.GetCurrentBiomeTileSet();

        Tile waterTile    = biome.Water;
        Tile shallowsTile = biome.Shallows;
        Tile roadTile     = biome.Road;
        Tile groundTile2  = null;
        Tile groundTile3  = null;

        if (biome.GroundTiles.Length > 1)
        {
            groundTile2 = biome.GroundTiles[1];
        }
        if (biome.GroundTiles.Length > 2)
        {
            groundTile3 = biome.GroundTiles[2];
        }

        string[] mapRows = new string[GenerationManager.instance.Width];
        int      i       = 0;
        int      y       = GenerationManager.instance.Width - 1;

        while (y >= 0)
        {
            int    x   = 0;
            string row = "";
            while (x < GenerationManager.instance.Width)
            {
                MapPoint mp = new MapPoint(x, y);

                if (_mapToSave.GetTileAtPos(mp) == waterTile)
                {
                    row = row + "W";
                }
                else if (_mapToSave.GetTileAtPos(mp) == shallowsTile)
                {
                    row = row + "S";
                }
                else if (_mapToSave.GetTileAtPos(mp) == roadTile)
                {
                    row = row + "R";
                }
                else if (_mapToSave.DoesTileContainTree(mp))
                {
                    row = row + "T";
                }
                else if (_mapToSave.GetTileAtPos(mp) == groundTile2)
                {
                    row = row + "2G";
                }
                else if (_mapToSave.GetTileAtPos(mp) == groundTile3)
                {
                    row = row + "3G";
                }
                else
                {
                    row = row + "G";
                }

                x++;

                if (x < GenerationManager.instance.Width)
                {
                    row = row + ",";
                }
            }

            mapRows[i] = row;
            i++;
            y--;
        }

        return(mapRows);
    }
コード例 #3
0
    void Awake()
    {
        TileSet_Grass = new BiomeTileSet();
        Tile[] Grass_GTiles = new Tile[2];
        Grass_GTiles[0] = GrassTile;
        Grass_GTiles[1] = GrassDustTile;

        TileSet_Grass.GroundTiles = Grass_GTiles;
        TileSet_Grass.Sand        = SandTile;
        TileSet_Grass.Water       = WaterTile;
        TileSet_Grass.Road        = RoadTile;
        TileSet_Grass.Shallows    = ShallowsTile;

        /////////////////////////////////

        TileSet_Snow = new BiomeTileSet();
        Tile[] Snow_GTiles = new Tile[3];
        Snow_GTiles[0] = SnowTile;
        Snow_GTiles[1] = SnowGrassTile;
        Snow_GTiles[2] = SnowDustTile;

        TileSet_Snow.GroundTiles = Snow_GTiles;
        TileSet_Snow.Sand        = IceTile;
        TileSet_Snow.Water       = WaterTile;
        TileSet_Snow.Road        = RoadTile;
        TileSet_Snow.Shallows    = IceTile;

        ////////////////////////////////////

        TileSet_Desert = new BiomeTileSet();
        Tile[] Desert_GTiles = new Tile[2];
        Desert_GTiles[0] = DesertTile;
        Desert_GTiles[1] = DustGrassTile;

        TileSet_Desert.GroundTiles = Desert_GTiles;
        TileSet_Desert.Sand        = SandTile;
        TileSet_Desert.Water       = WaterTile;
        TileSet_Desert.Road        = RoadTile;
        TileSet_Desert.Shallows    = ShallowsTile;

        ////////////////////////////////////

        TileSet_Mont1 = new BiomeTileSet();
        Tile[] Mont_GTiles = new Tile[1];
        Mont_GTiles[0] = GrassTile;

        TileSet_Mont1.GroundTiles = Mont_GTiles;
        TileSet_Mont1.Sand        = SandTile;
        TileSet_Mont1.Water       = WaterTile;
        TileSet_Mont1.Road        = RoadTile;
        TileSet_Mont1.Shallows    = ShallowsTile;

        ////////////////////////////////////

        TileSet_ElCid5 = new BiomeTileSet();
        Tile[] ElCid_GTiles = new Tile[2];
        ElCid_GTiles[0] = GrassTile;
        ElCid_GTiles[1] = DesertTile;

        TileSet_ElCid5.GroundTiles = ElCid_GTiles;
        TileSet_ElCid5.Sand        = SandTile;
        TileSet_ElCid5.Water       = WaterTile;
        TileSet_ElCid5.Road        = RoadTile;
        TileSet_ElCid5.Shallows    = ShallowsTile;

        ////////////////////////////////////

        TileSet_VindSaga = new BiomeTileSet();
        Tile[] Vind_GTiles = new Tile[3];
        Vind_GTiles[0] = SnowTile;
        Vind_GTiles[1] = GrassTile;
        Vind_GTiles[2] = SnowGrassTile;

        TileSet_VindSaga.GroundTiles = Vind_GTiles;
        TileSet_VindSaga.Sand        = IceTile;
        TileSet_VindSaga.Water       = WaterTile;
        TileSet_VindSaga.Road        = RoadTile;
        TileSet_VindSaga.Shallows    = IceTile;
        TileSet_VindSaga.Ice         = IceTile;

        ////////////////////////////////////

        TileSet_Saladin1 = new BiomeTileSet();
        Tile[] Sal_GTiles = new Tile[2];
        Sal_GTiles[0] = DesertTile;
        Sal_GTiles[1] = GrassTile;

        TileSet_Saladin1.GroundTiles = Sal_GTiles;
        TileSet_Saladin1.Sand        = SandTile;
        TileSet_Saladin1.Water       = WaterTile;
        TileSet_Saladin1.Road        = RoadTile;
        TileSet_Saladin1.Shallows    = ShallowsTile;
    }