public void FillFormulaTemplate(ViewModels.RateSettings rateSettings) { FormulaTemplate = (string)Formula.Clone(); SetValueToTemplateFormula("Ур", rateSettings.Damage, rateSettings.Parameters.Damage); SetValueToTemplateFormula("Л", rateSettings.Heal, rateSettings.Parameters.Heal); SetValueToTemplateFormula("ОВ", rateSettings.Time, rateSettings.Parameters.Time); SetValueToTemplateFormula("П", rateSettings.Death, rateSettings.Parameters.Death); SetValueToTemplateFormula("М", rateSettings.Minutes, rateSettings.Parameters.Minutes); SetValueToTemplateFormula("С", rateSettings.Seconds, rateSettings.Parameters.Seconds); FormulaTemplate = FormulaTemplate.Replace("Коэфф. времени", rateSettings.RateMinSec.ToString()); FormulaTemplate = FormulaTemplate.Replace("Общий коэфф.", rateSettings.CommonRate.ToString()); }
public void Calculate(CalculationParameters parameters) { ViewModels.RateSettings rateSettings = ViewModels.RateSettings.GetObject(); double damage = parameters.Damage * rateSettings.Damage; double heal = parameters.Heal * rateSettings.Heal; double time = parameters.Time * rateSettings.Time; double death = parameters.Death * rateSettings.Death; double minutes = parameters.Minutes * rateSettings.Minutes; double seconds = parameters.Seconds * rateSettings.Seconds; // ((F - H ) / N - G - (L + M ) / 100 ) * 100 ResultFull = ((damage - heal) / time - death - (minutes + seconds) / rateSettings.RateMinSec) * rateSettings.CommonRate; Result = Math.Round(ResultFull); }