public void SetResourceTile(ITile tile) { if (tile == null || OccupiedTile(tile) || !CityTiles.Contains(tile) || (tile.X == X && tile.Y == Y) || (_resourceTiles.Count >= Size && !_resourceTiles.Contains(tile))) { ResetResourceTiles(); return; } if (_resourceTiles.Contains(tile)) { _resourceTiles.Remove(tile); return; } _resourceTiles.Add(tile); UpdateSpecialists(); }
public void SetResourceTile(ITile tile) { if (tile == null || OccupiedTile(tile) || !CityTiles.Contains(tile) || (tile.X == X && tile.Y == Y) || (_resourceTiles.Count >= Size && !_resourceTiles.Contains(tile))) { ResetResourceTiles(); return; } if (_resourceTiles.Contains(tile)) { tile.SpecialTrade = 0; // clear out Colossus effect. _resourceTiles.Remove(tile); return; } _resourceTiles.Add(tile); if (HasWonder <Colossus>() && !this.Player.WonderObsolete <Colossus>()) { ApplyColossusTradeModifier(); } UpdateSpecialists(); }