Avoid settings copy if there are no settings

This commit is contained in:
Dean Herbert 2021-09-09 15:43:55 +09:00
parent 38f4b0ced2
commit e66d76d26e

View File

@ -53,6 +53,8 @@ namespace osu.Game.Online.API
if (resultMod == null) if (resultMod == null)
throw new InvalidOperationException($"There is no mod in the ruleset ({ruleset.ShortName}) matching the acronym {Acronym}."); throw new InvalidOperationException($"There is no mod in the ruleset ({ruleset.ShortName}) matching the acronym {Acronym}.");
if (Settings.Count > 0)
{
foreach (var (_, property) in resultMod.GetSettingsSourceProperties()) foreach (var (_, property) in resultMod.GetSettingsSourceProperties())
{ {
if (!Settings.TryGetValue(property.Name.Underscore(), out object settingValue)) if (!Settings.TryGetValue(property.Name.Underscore(), out object settingValue))
@ -60,6 +62,7 @@ namespace osu.Game.Online.API
resultMod.CopyAdjustedSetting((IBindable)property.GetValue(resultMod), settingValue); resultMod.CopyAdjustedSetting((IBindable)property.GetValue(resultMod), settingValue);
} }
}
return resultMod; return resultMod;
} }