Split button mods updating to private method

This commit is contained in:
Salman Ahmed
2021-01-01 16:16:00 +03:00
parent c1a1e3acc5
commit 988f9b98a1

View File

@ -133,24 +133,24 @@ namespace osu.Game.Overlays.Mods
public void UpdateSelectedMods(IReadOnlyList<Mod> newSelectedMods) public void UpdateSelectedMods(IReadOnlyList<Mod> newSelectedMods)
{ {
foreach (var button in buttons) foreach (var button in buttons)
updateButtonMods(button, newSelectedMods);
}
private void updateButtonMods(ModButton button, IReadOnlyList<Mod> newSelectedMods)
{
foreach (var mod in newSelectedMods)
{ {
int index = -1; var index = Array.FindIndex(button.Mods, m1 => mod.GetType() == m1.GetType());
foreach (var mod in newSelectedMods)
{
index = Array.FindIndex(button.Mods, m1 => mod.GetType() == m1.GetType());
if (index < 0)
continue;
var buttonMod = button.Mods[index];
buttonMod.CopyFrom(mod);
button.SelectAt(index);
break;
}
if (index < 0) if (index < 0)
button.Deselect(); continue;
var buttonMod = button.Mods[index];
buttonMod.CopyFrom(mod);
button.SelectAt(index);
return;
} }
button.Deselect();
} }
protected ModSection() protected ModSection()