public ProductionServiceBase(string senderId,IProductionFacilityProvider productionFacilityProvider, IComponentService componentService,IOrientationService orientationService, IEventAgent eventAgent) { SenderId = senderId; ProductionFacilityProvider = productionFacilityProvider; ComponentService = componentService; OrientationService = orientationService; EventAgent = eventAgent; ProductionRules = new List<IProductionRule>(); }
public ProductionManager(IComponentService componentService, IProductionFacilityProvider productionFacilityProvider,IOrientationService orientationService, IEventAgent eventAgent, string senderId) { EventAgent = eventAgent; ComponentService = componentService; OrientationService = orientationService; ProductionServices = new List<IProductionService>() { new BarrackProductionService(senderId,productionFacilityProvider,ComponentService,OrientationService,eventAgent), new InfanteryProductionService(senderId,productionFacilityProvider,ComponentService,OrientationService,eventAgent) }; }
public BarrackProductionService(string senderId, IProductionFacilityProvider productionFacilityProvider, IComponentService componentService, IOrientationService orientationService, IEventAgent eventAgent) : base(senderId, productionFacilityProvider, componentService, orientationService, eventAgent) { ProductionRules = new List<IProductionRule>() { new NoBarracksAvailableRule(ComponentService) }; }
public InfanteryProductionService(string senderId, IProductionFacilityProvider productionFacilityProvider, IComponentService componentService, IOrientationService orientationService, IEventAgent eventAgent) : base(senderId, productionFacilityProvider, componentService, orientationService, eventAgent) { ProductionRules = new List<IProductionRule>() { new BarrackAvailableRule(ComponentService), new LessThandNeededInfanteryRule(ComponentService) }; }