1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-21 23:59:16 +08:00

Return mods from CalculateAllLegacyCombinations

This commit is contained in:
Dan Balasescu 2024-11-20 15:46:45 +09:00
parent 26e9c21d9a
commit d75eb3a88a
No known key found for this signature in database

View File

@ -140,7 +140,7 @@ namespace osu.Game.Rulesets.Difficulty
/// This can only be used to compute difficulties for legacy mod combinations.
/// </remarks>
/// <returns>A collection of structures describing the difficulty of the beatmap for each mod combination.</returns>
public IEnumerable<IDifficultyAttributes> CalculateAllLegacyCombinations(CancellationToken cancellationToken = default)
public IEnumerable<(Mod[] Mods, IDifficultyAttributes Attributes)> CalculateAllLegacyCombinations(CancellationToken cancellationToken = default)
{
var rulesetInstance = ruleset.CreateInstance();
@ -148,11 +148,13 @@ namespace osu.Game.Rulesets.Difficulty
{
Mod classicMod = rulesetInstance.CreateMod<ModClassic>();
var finalCombination = ModUtils.FlattenMod(combination);
IEnumerable<Mod> finalCombination = ModUtils.FlattenMod(combination);
if (classicMod != null)
finalCombination = finalCombination.Append(classicMod);
yield return Calculate(finalCombination.ToArray(), cancellationToken);
Mod[] finalMods = finalCombination.ToArray();
yield return (finalMods, Calculate(finalMods, cancellationToken));
}
}