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); }
//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); } }
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); } }
public void Execute(Settlement settlement) { settlement.AddInhabitant(CharacterTestTemplates.Barbarian()); }