Return back DatabaseBackedStore's query and populate functions

This commit is contained in:
TocoToucan
2017-10-15 00:40:41 +03:00
parent 5f083f10a7
commit 7cf5d63cd3
10 changed files with 117 additions and 80 deletions

View File

@ -42,14 +42,14 @@ namespace osu.Game.Rulesets
{
Connection.Database.ExecuteSqlCommand("DELETE FROM RulesetInfo");
}
var instances = loaded_assemblies.Values.Select(r => (Ruleset)Activator.CreateInstance(r, new RulesetInfo()));
//add all legacy modes in correct order
foreach (var r in instances.Where(r => r.LegacyID >= 0).OrderBy(r => r.LegacyID))
{
var rulesetInfo = createRulesetInfo(r);
if (Connection.RulesetInfo.SingleOrDefault(rsi=>rsi.ID==rulesetInfo.ID)==null)
if (Connection.RulesetInfo.SingleOrDefault(rsi => rsi.ID == rulesetInfo.ID) == null)
{
Connection.RulesetInfo.Add(rulesetInfo);
}
@ -108,19 +108,6 @@ namespace osu.Game.Rulesets
protected override Type[] ValidTypes => new[] { typeof(RulesetInfo) };
public RulesetInfo GetRuleset(int id) => Connection.RulesetInfo.First(r => r.ID == id);
public RulesetInfo QueryRulesetInfo(Func<RulesetInfo, bool> query)
{
return Connection.RulesetInfo.FirstOrDefault(query);
}
public List<RulesetInfo> QueryRulesets(Func<RulesetInfo, bool> query = null)
{
var rulesets = Connection.RulesetInfo;
if (query != null)
return rulesets.Where(query).ToList();
return rulesets.ToList();
}
public RulesetInfo GetRuleset(int id) => Query<RulesetInfo>().First(r => r.ID == id);
}
}