public Engine(IBuildingFactory buildingFactory, IResourseFactory resourseFactory, IUnitFactory unitFactory, IData empireData, IInputReader reader, IOutputWriter writer) { this.buildingFactory = buildingFactory; this.resourseFactory = resourseFactory; this.unitFactory = unitFactory; this.empireData = empireData; this.reader = reader; this.writer = writer; }
public Archery( IUnitFactory unitFactory, IResourseFactory resourseFactory) : base(ArcheryUnitType, ArcheryUnitCycle, ArcheryResourseType, ArcheryResourseCycle, ArcheryResourceQuantity, unitFactory, resourseFactory) { }
public Barracks(IUnitFactory unitFactory, IResourseFactory resourseFactory) : base(BarracksUnitType, BarracksUnitCycle, BarrackResourseType, BarracksResourseCycle, BarracksResourceQuantity, unitFactory, resourseFactory) { }
public IBuilding CreateBuilding(string buildingType, IResourseFactory resourseFactory, IUnitFactory unitFactory) { switch (buildingType.ToLower()) { case "barracks": return new Barracks(unitFactory,resourseFactory); case "archery": return new Archery(unitFactory,resourseFactory); default: throw new ArgumentException("Invalid building type"); } }
protected Building(string unitType, int unitCycleLenght, ResourseType resourseType, int resoursesCycleLenght, int resourceQuantity, IUnitFactory unitFactory, IResourseFactory resourseFactory) { this.unitType = unitType; this.unitCycleLenght = unitCycleLenght; this.resourseType = resourseType; this.resourcseCycleLenght = resoursesCycleLenght; this.resourceQuantity = resourceQuantity; this.unitFactory = unitFactory; this.resourseFactory = resourseFactory; }