protected FeatureEvolution( Range <PersonAge> ageRange, FeatureImprovementRatio maxImprovement, EvolutionCurve evolutionCurve) { AgeRange = ageRange; MaxFeatureImprovement = maxImprovement; EvolutionCurve = evolutionCurve; }
private Phase1Evolution(Range <PersonAge> ageRange, EvolutionCurve evolutionCurve) : base(ageRange, new FeatureImprovementRatio(0.5), evolutionCurve) { }
private Phase3Evolution(Range <PersonAge> ageRange, FeatureImprovementRatio maxImprovement, EvolutionCurve evolutionCurve) : base(ageRange, maxImprovement, evolutionCurve) { }
public static Phase1Evolution Create(EvolutionCurve evolutionCurve) => new Phase1Evolution(new Range <PersonAge>(PersonAge.FromYears(AGE_MIN), PersonAge.FromYears(AGE_MAX)), evolutionCurve);