public double GetProductionPoints(Citizen citizen, Company company) { var factory = new ProductionPointsCalculatorFactory() .SetProductType(company.GetProducedProductType()); var calculator = factory.Create(); var args = new ProductionPointsCalculateArgs(citizen, company, regionService, regionRepository); return(calculator.Calculate(args)); }
public double GetProductionPoints(ProductTypeEnum producedProduct, int hitPoints, double skill, double distance, int quality, int resourceQuality, double regionDevelopment, int peopleCount) { var factory = new ProductionPointsCalculatorFactory() .SetProductType(producedProduct); var calculator = factory.Create(); var args = new ProductionPointsCalculateArgs() { Development = regionDevelopment, Distance = distance, PeopleCount = peopleCount, ProducedProduct = producedProduct, Quality = quality, ResourceQuality = resourceQuality, Skill = skill, HitPoints = hitPoints }; return(calculator.Calculate(args)); }
public CompanyStatisticsViewModel(Company company, ICompanyService companyService, IRegionService regionService, IRegionRepository regionRepository) { var calculator = new ProductionPointsCalculatorFactory() .SetProductType(company.GetProducedProductType()) .Create(); var args = new ProductionPointsCalculateArgs(company, regionService, regionRepository) { Skill = 4.0, Distance = 0.0, HitPoints = 100 }; RawMultiplier = Percentage.ConvertToPercent(calculator.CalculateRawMultiplier(args)); QualityModifier = Percentage.ConvertToPercent(calculator.CalculateQualityModifier(args)); ProductionModifier = Percentage.ConvertToPercent(calculator.CalculateProductModifier(args)); DevelopmentModifier = Percentage.ConvertToPercent(calculator.CalculateDevelopmentModifier(args)); PeopleModifier = Percentage.ConvertToPercent(calculator.CalculatePeopleModifier(args)); ShowRawMultiplier = companyService.CanUseRawMultiplier(company); ShowQualityModifier = companyService.CanUseQualityModifier(company); }