Ejemplo n.º 1
0
        public void SettlementsHaveManyCharactersInThem()
        {
            var settlement = new Settlement(new SettlementStrategy());

            settlement.AddInhabitant(new CharacterSheet(CharacterStrategy.Default()));
            settlement.AddInhabitant(new CharacterSheet(CharacterStrategy.Default()));

            Assert.Equal(2, settlement.Population);
        }
Ejemplo n.º 2
0
 //Adds a citizen to the inhabitant list of the tile, if there is a settlement on the tile, it will also add them to the inhabiant list of that.
 public void AddInhabitant(Citizen inhabitant)
 {
     inhabitants.Add(inhabitant);
     if (hasSettlement)
     {
         settlement.AddInhabitant(inhabitant);
     }
 }
Ejemplo n.º 3
0
        public void Execute(Settlement settlement)
        {
            var strategy = settlement.Get <SettlementStrategy>();
            int target   = Randomly.Range(strategy.MinimumPopulation, strategy.MaximumPopulation);

            for (int count = 0; count < target; count++)
            {
                var inhabitantStrategy = GatewayProvider.Find <CharacterStrategy>("inhabitant");
                var designer           = GatewayProvider.Find <CharacterDesigner>(inhabitantStrategy.Designer);
                var inhabitant         = new CharacterSheet(inhabitantStrategy);
                designer.ExecuteStep(inhabitant);
                settlement.AddInhabitant(inhabitant);
            }
        }
Ejemplo n.º 4
0
 public void Execute(Settlement settlement)
 {
     settlement.AddInhabitant(CharacterTestTemplates.Barbarian());
 }