private ProvinceState CreateInitialProvinceState(Faction faction, Tile tile) { ProvinceUpgrades upgrades = new ProvinceUpgrades(new ProvinceUpgrade[0]); IEnumerable <Tile> tileSet = new[] { tile }; return(new ProvinceState(faction, upgrades, new Province(), tileSet)); }
public ProvinceState(Faction owner, ProvinceUpgrades upgrades, Province identifier, IEnumerable <Tile> tiles) { Owner = owner; Upgrades = upgrades; Identifier = identifier; _tiles = new HashSet <Tile>(tiles); }
private ProvinceState GetMerged(ProvinceState basis, ProvinceState toAbsorb) { ProvinceUpgrades newUpgrades = new ProvinceUpgrades(basis.Upgrades.Upgrades.Concat(toAbsorb.Upgrades.Upgrades)); IEnumerable <Tile> newTiles = basis.Tiles.Concat(toAbsorb.Tiles); ProvinceState newProvince = new ProvinceState( basis.Owner, newUpgrades, basis.Identifier, newTiles ); return(newProvince); }