Example #1
0
    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));
    }
Example #2
0
 public ProvinceState(Faction owner,
                      ProvinceUpgrades upgrades,
                      Province identifier,
                      IEnumerable <Tile> tiles)
 {
     Owner      = owner;
     Upgrades   = upgrades;
     Identifier = identifier;
     _tiles     = new HashSet <Tile>(tiles);
 }
Example #3
0
        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);
        }