Пример #1
0
        private void SetResourceTiles()
        {
            if (!Game.Started)
            {
                return;
            }
            while (_resourceTiles.Count > Size)
            {
                _resourceTiles.RemoveAt(_resourceTiles.Count - 1);
            }
            if (_resourceTiles.Count == Size)
            {
                return;
            }
            if (_resourceTiles.Count < Size)
            {
                IEnumerable <ITile> tiles = CityTiles.Where(t => !OccupiedTile(t) && !ResourceTiles.Contains(t)).OrderByDescending(t => FoodValue(t)).ThenByDescending(t => ShieldValue(t)).ThenByDescending(t => TradeValue(t));
                if (tiles.Count() > 0)
                {
                    _resourceTiles.Add(tiles.First());
                }
            }

            UpdateSpecialists();
        }
Пример #2
0
        private void SetResourceTiles()
        {
            if (!Game.Started)
            {
                return;
            }
            while (_resourceTiles.Count > Size)
            {
                _resourceTiles.RemoveAt(_resourceTiles.Count - 1);
            }
            if (_resourceTiles.Count == Size)
            {
                return;
            }
            if (_resourceTiles.Count < Size)
            {
                IEnumerable <ITile> tiles = CityTiles.Where(t => !OccupiedTile(t) && !ResourceTiles.Contains(t)).OrderByDescending(t => t.Food).ThenByDescending(t => t.Shield).ThenByDescending(t => t.Trade);
                if (tiles.Count() > 0)
                {
                    _resourceTiles.Add(tiles.First());
                }
            }

            if (HasWonder <Colossus>() && !this.Player.WonderObsolete <Colossus>())
            {
                ApplyColossusTradeModifier();
            }
            UpdateSpecialists();
        }