예제 #1
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);
            }
        }