public DifficultyAttributes getCatchDifficultyAttributes() { var ruleset = new CatchRuleset(); var attributes = ruleset.CreateDifficultyCalculator(beatmap).Calculate(getMods(ruleset).ToArray()); return(attributes); }
private Result processBeatmap(WorkingBeatmap beatmap) { // Get the ruleset var ruleset = new CatchRuleset(); var attributes = ruleset.CreateDifficultyCalculator(beatmap).Calculate(getMods(ruleset).ToArray()); var result = new Result { RulesetId = ruleset.RulesetInfo.ID ?? 0, Beatmap = $"{beatmap.BeatmapInfo.OnlineBeatmapID} - {beatmap.BeatmapInfo}", Stars = attributes.StarRating.ToString("N2") }; switch (attributes) { case CatchDifficultyAttributes @catch: result.AttributeData = new List <(string, object)> { ("max combo", @catch.MaxCombo), ("approach rate", @catch.ApproachRate.ToString("N2")) }; break; } return(result); }