mirror of
https://github.com/osukey/osukey.git
synced 2025-06-03 20: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));
|
||||
}
|
||||
|
||||
private IQueryable<RealmKeyBinding> query() => realmContextFactory.Get().All<RealmKeyBinding>();
|
||||
private IQueryable<RealmKeyBinding> query() => realmContextFactory.Context.All<RealmKeyBinding>();
|
||||
|
||||
[Test]
|
||||
public void TestUpdateViaQueriedReference()
|
||||
|
@ -55,7 +55,7 @@ namespace osu.Game.Database
|
||||
|
||||
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.
|
||||
if (context == null || original.Realm?.IsSameInstance(context) == true) return original;
|
||||
|
@ -53,14 +53,12 @@ namespace osu.Game.Input.Bindings
|
||||
|
||||
protected override void LoadComplete()
|
||||
{
|
||||
var realm = realmFactory.Get();
|
||||
|
||||
if (ruleset == null || ruleset.ID.HasValue)
|
||||
{
|
||||
var rulesetId = ruleset?.ID;
|
||||
|
||||
realmKeyBindings = realm.All<RealmKeyBinding>()
|
||||
.Where(b => b.RulesetID == rulesetId && b.Variant == variant);
|
||||
realmKeyBindings = realmFactory.Context.All<RealmKeyBinding>()
|
||||
.Where(b => b.RulesetID == rulesetId && b.Variant == variant);
|
||||
|
||||
realmSubscription = realmKeyBindings
|
||||
.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>
|
||||
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();
|
||||
|
||||
@ -92,7 +92,7 @@ namespace osu.Game.Input
|
||||
// compare counts in database vs defaults
|
||||
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();
|
||||
|
||||
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;
|
||||
|
||||
using (var realm = realmFactory.Get())
|
||||
using (var realm = realmFactory.GetForRead())
|
||||
{
|
||||
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)
|
||||
{
|
||||
var realm = realmFactory.Get();
|
||||
realmKeyBinding = realm.All<RealmKeyBinding>().FirstOrDefault(rkb => rkb.RulesetID == null && rkb.Action == (int)Hotkey.Value);
|
||||
realmKeyBinding = realmFactory.Context.All<RealmKeyBinding>().FirstOrDefault(rkb => rkb.RulesetID == null && rkb.Action == (int)Hotkey.Value);
|
||||
|
||||
if (realmKeyBinding != null)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user