mirror of
https://github.com/osukey/osukey.git
synced 2025-06-05 21:07:18 +09:00
Update existing usages to use the main realm context where applicable
This commit is contained in:
parent
542f535247
commit
9d744d629f
@ -49,7 +49,7 @@ namespace osu.Game.Tests.Database
|
|||||||
Assert.That(query().Where(k => k.Action == (int)GlobalAction.Select).Count, Is.EqualTo(2));
|
Assert.That(query().Where(k => k.Action == (int)GlobalAction.Select).Count, Is.EqualTo(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
private IQueryable<RealmKeyBinding> query() => realmContextFactory.Get().All<RealmKeyBinding>();
|
private IQueryable<RealmKeyBinding> query() => realmContextFactory.Context.All<RealmKeyBinding>();
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestUpdateViaQueriedReference()
|
public void TestUpdateViaQueriedReference()
|
||||||
|
@ -55,7 +55,7 @@ namespace osu.Game.Database
|
|||||||
|
|
||||||
private T getThreadLocalValue()
|
private T getThreadLocalValue()
|
||||||
{
|
{
|
||||||
var context = contextFactory.Get();
|
var context = contextFactory.Context;
|
||||||
|
|
||||||
// only use the original if no context is available or the source realm is the same.
|
// only use the original if no context is available or the source realm is the same.
|
||||||
if (context == null || original.Realm?.IsSameInstance(context) == true) return original;
|
if (context == null || original.Realm?.IsSameInstance(context) == true) return original;
|
||||||
|
@ -53,14 +53,12 @@ namespace osu.Game.Input.Bindings
|
|||||||
|
|
||||||
protected override void LoadComplete()
|
protected override void LoadComplete()
|
||||||
{
|
{
|
||||||
var realm = realmFactory.Get();
|
|
||||||
|
|
||||||
if (ruleset == null || ruleset.ID.HasValue)
|
if (ruleset == null || ruleset.ID.HasValue)
|
||||||
{
|
{
|
||||||
var rulesetId = ruleset?.ID;
|
var rulesetId = ruleset?.ID;
|
||||||
|
|
||||||
realmKeyBindings = realm.All<RealmKeyBinding>()
|
realmKeyBindings = realmFactory.Context.All<RealmKeyBinding>()
|
||||||
.Where(b => b.RulesetID == rulesetId && b.Variant == variant);
|
.Where(b => b.RulesetID == rulesetId && b.Variant == variant);
|
||||||
|
|
||||||
realmSubscription = realmKeyBindings
|
realmSubscription = realmKeyBindings
|
||||||
.SubscribeForNotifications((sender, changes, error) =>
|
.SubscribeForNotifications((sender, changes, error) =>
|
||||||
|
@ -28,7 +28,7 @@ namespace osu.Game.Input
|
|||||||
/// <returns>A set of display strings for all the user's key configuration for the action.</returns>
|
/// <returns>A set of display strings for all the user's key configuration for the action.</returns>
|
||||||
public IEnumerable<string> GetReadableKeyCombinationsFor(GlobalAction globalAction)
|
public IEnumerable<string> GetReadableKeyCombinationsFor(GlobalAction globalAction)
|
||||||
{
|
{
|
||||||
foreach (var action in query().Where(b => (GlobalAction)b.Action == globalAction))
|
foreach (var action in RealmFactory.Context.All<RealmKeyBinding>().Where(b => (GlobalAction)b.Action == globalAction))
|
||||||
{
|
{
|
||||||
string str = ((IKeyBinding)action).KeyCombination.ReadableString();
|
string str = ((IKeyBinding)action).KeyCombination.ReadableString();
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ namespace osu.Game.Input
|
|||||||
// compare counts in database vs defaults
|
// compare counts in database vs defaults
|
||||||
foreach (var group in defaults.GroupBy(k => k.Action))
|
foreach (var group in defaults.GroupBy(k => k.Action))
|
||||||
{
|
{
|
||||||
int count = query(rulesetId, variant).Count(k => k.Action == (int)group.Key);
|
int count = usage.Context.All<RealmKeyBinding>().Count(k => k.RulesetID == rulesetId && k.Variant == variant && k.Action == (int)group.Key);
|
||||||
int aimCount = group.Count();
|
int aimCount = group.Count();
|
||||||
|
|
||||||
if (aimCount <= count)
|
if (aimCount <= count)
|
||||||
@ -113,13 +113,5 @@ namespace osu.Game.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Retrieve live queryable <see cref="RealmKeyBinding"/>s for a specified ruleset/variant content.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="rulesetId">An optional ruleset ID. If null, global bindings are returned.</param>
|
|
||||||
/// <param name="variant">An optional ruleset variant. If null, the no-variant bindings are returned.</param>
|
|
||||||
private IQueryable<RealmKeyBinding> query(int? rulesetId = null, int? variant = null) =>
|
|
||||||
RealmFactory.Get().All<RealmKeyBinding>().Where(b => b.RulesetID == rulesetId && b.Variant == variant);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ namespace osu.Game.Overlays.KeyBinding
|
|||||||
{
|
{
|
||||||
var rulesetId = Ruleset?.ID;
|
var rulesetId = Ruleset?.ID;
|
||||||
|
|
||||||
using (var realm = realmFactory.Get())
|
using (var realm = realmFactory.GetForRead())
|
||||||
{
|
{
|
||||||
var bindings = realm.All<RealmKeyBinding>().Where(b => b.RulesetID == rulesetId && b.Variant == variant).Detach();
|
var bindings = realm.All<RealmKeyBinding>().Where(b => b.RulesetID == rulesetId && b.Variant == variant).Detach();
|
||||||
|
|
||||||
|
@ -165,8 +165,7 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
|
|
||||||
if (Hotkey != null)
|
if (Hotkey != null)
|
||||||
{
|
{
|
||||||
var realm = realmFactory.Get();
|
realmKeyBinding = realmFactory.Context.All<RealmKeyBinding>().FirstOrDefault(rkb => rkb.RulesetID == null && rkb.Action == (int)Hotkey.Value);
|
||||||
realmKeyBinding = realm.All<RealmKeyBinding>().FirstOrDefault(rkb => rkb.RulesetID == null && rkb.Action == (int)Hotkey.Value);
|
|
||||||
|
|
||||||
if (realmKeyBinding != null)
|
if (realmKeyBinding != null)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user