示例#1
0
 public IEnumerator AddLayers()
 {
     for (int i = 0; i < dataLevel.LayerCount(); i++)
     {
         yield return(AddLayer(i));
     }
     improvement = CreateNewLayer32("Improvement", dataLevel.LayerCount());
     overlay     = CreateNewLayer("overlay", dataLevel.LayerCount() + 1);
     overlay.GetComponent <TilemapRenderer>().sortingLayerName = "Overlay";
     yield return(AddBorder());
 }
示例#2
0
        public void Generate(GameMapDataLevel gmdl)
        {
            int              height    = GameMgmt.Get().data.map.height;
            DataTerrain      invisible = L.b.terrains["invisible"];
            GameMapDataLevel std       = GameMgmt.Get().data.map.levels[GameMgmt.Get().data.map.standard];

            Debug.Log($"Generate layer {mapGeneration.Name()}:{GameMgmt.Get().data.map.width}/{height}");

            for (int layer = 0; layer < std.LayerCount(); layer++)
            {
                int[][] layerData = new int[height][];
                for (int y = 0; y < height; y++)
                {
                    layerData[height - y - 1] = new int[GameMgmt.Get().data.map.width];
                    for (int x = 0; x < GameMgmt.Get().data.map.width; x++)
                    {
                        CreateTile(std, x, y, layer, layerData, height, invisible);
                    }
                }
                gmdl.AddLayer(layerData);
            }
        }