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); } }