public TimedDifficultyAttributes(double time, DifficultyAttributes attributes) { Time = time; Attributes = attributes; }
public PerformanceAttributes Calculate(ScoreInfo score, DifficultyAttributes attributes) => CreatePerformanceAttributes(score, attributes);
protected abstract PerformanceAttributes CreatePerformanceAttributes(ScoreInfo score, DifficultyAttributes attributes);
/// <summary> /// Populates <see cref="DifficultyAttributes"/> after difficulty has been processed. /// </summary> /// <param name="attributes">The <see cref="DifficultyAttributes"/> to populate with information about the difficulty of <paramref name="beatmap"/>.</param> /// <param name="beatmap">The <see cref="IBeatmap"/> whose difficulty was processed.</param> /// <param name="skills">The skills which processed the difficulty.</param> /// <param name="clockRate">The rate at which the gameplay clock is run at.</param> protected abstract void PopulateAttributes(DifficultyAttributes attributes, IBeatmap beatmap, Skill[] skills, double clockRate);