Example #1
0
        public void FillTo(Generation.World.TimelineLayer component)
        {
            component.Age = Age;

            component.WorldTiles = new Generation.World.WorldTile[WorldMapResolution, WorldMapResolution];

            for (int i = 0; i < WorldMapResolution; i++)
            {
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.WorldTiles[i, j] = WorldTiles[i * WorldMapResolution + j];
                }
            }

            component.Civilizations = new List <Generation.World.Civilization>(Civilizations.Select(x => (Generation.World.Civilization)x));

            component.Continents = new List <Generation.World.Region>(Continents.Select(x => (Generation.World.Region)x));

            component.Islands = new List <Generation.World.Region>(Islands.Select(x => (Generation.World.Region)x));

            component.Mountains = new List <Generation.World.Region>(Mountains.Select(x => (Generation.World.Region)x));

            component.Forests = new List <Generation.World.Region>(Forests.Select(x => (Generation.World.Region)x));

            component.Deserts = new List <Generation.World.Region>(Deserts.Select(x => (Generation.World.Region)x));

            component.Swamps = new List <Generation.World.Region>(Swamps.Select(x => (Generation.World.Region)x));

            component.Chunks = Chunks;

            component.ElevationMap = new float[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.ElevationMap[i] = new float[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.ElevationMap[i][j] = ElevationMap[i * WorldMapResolution + j] / 255f;
                }
            }

            component.RiverMap = new bool[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.RiverMap[i] = new bool[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.RiverMap[i][j] = RiverMap[i * WorldMapResolution + j];
                }
            }


            component.RiverBorderMap = new bool[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.RiverBorderMap[i] = new bool[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.RiverBorderMap[i][j] = RiverBorderMap[i * WorldMapResolution + j];
                }
            }

            component.InlandWaterConnectivity = new TileForInlandWaterConnectivity[WorldMapResolution][];
            for (int i = 0; i < WorldMapResolution; i++)
            {
                component.InlandWaterConnectivity[i] = new TileForInlandWaterConnectivity[WorldMapResolution];
                for (int j = 0; j < WorldMapResolution; j++)
                {
                    component.InlandWaterConnectivity[i][j] = InlandWaterConnectivity[i * WorldMapResolution + j];
                }
            }



            component.BorderLines = new List <Generation.World.WaterBorderLine>();
            foreach (var borderLineStorage in BorderLines)
            {
                component.BorderLines.Add(borderLineStorage);
            }
        }