private async Task <List <Crag> > GetCragsInfo(IElement areaA) { var crags = new List <Crag>(); var areaSource = await this.client.GetStringAsync(Host + areaA.GetAttribute("href")); var areaDocument = await this.context.OpenAsync(req => req.Content(areaSource)); var cragAnchors = areaDocument.QuerySelectorAll("tbody tr td:nth-child(1) a.name"); foreach (var cragA in cragAnchors) { var crag = new Crag() { Name = cragA.TextContent.ToLowerInvariant(), }; Console.WriteLine($"----Adding crag: '{crag.Name}'"); crags.Add(crag); var sectors = await this.GetSectorsInfo(cragA); sectors.ForEach(x => crag.Sectors.Add(x)); } return(crags); }
public static Crag GetCrag(int cragId) { Crag crag = null; if (CragExists(cragId)) { crag = Crags[cragId]; } return(crag); }
public static Crag GetCragOnlyByName(string name, string category) { Crag crag = null; name = name.ToLower().Trim(); var cacheKey = string.Join("-", new object[] { category, name.Trim().ToLower() }); if (cragsCacheWithoutCountry.ContainsKey(cacheKey)) { var cragId = cragsCacheWithoutCountry[cacheKey]; crag = Crags[cragId]; } return(crag); }
public static Crag GetCrag(string name, string category, int countryId) { Crag crag = null; name = name.ToLower().Trim(); var cacheKey = string.Join("-", new object[] { category, name.Trim().ToLower(), countryId }); if (cragsCache.ContainsKey(cacheKey)) { var cragId = cragsCache[cacheKey]; crag = Crags[cragId]; } return(crag); }
// Constructor public VoxelWorld(int seed) { _biomes = new IBiome[3]; _biomes[0] = new RollingHills(seed); _biomes[1] = new Ocean(seed); _biomes[2] = new Crag(seed); // Configure Biome Map _biomeMap = new FastNoise(seed); _biomeMap.SetNoiseType(FastNoise.NoiseType.PerlinFractal); _biomeMap.SetFrequency(0.01f); //_biomeMap.SetCellularDistanceFunction(FastNoise.CellularDistanceFunction.Natural); //_biomeMap.SetCellularReturnType(FastNoise.CellularReturnType.Distance); _chunkMap = new ConcurrentDictionary <Vector2Int, Chunk>(); }
public static void AddCrag(Crag crag) { CragCount++; Crags.Add(crag.Id.Value, crag); var cacheKey = string.Join("-", new object[] { crag.Category, crag.Name.ToLower(), crag.CountryId }); cragsCache.Add(cacheKey, crag.Id.Value); var cacheKeyWithoutCountry = string.Join("-", new object[] { crag.Category, crag.Name.ToLower() }); if (!cragsCacheWithoutCountry.ContainsKey(cacheKeyWithoutCountry)) { cragsCacheWithoutCountry.Add(cacheKeyWithoutCountry, crag.Id.Value); } }