1
0
mirror of https://github.com/ppy/osu synced 2025-03-23 03:16:53 +00:00

Slight cleanup in multiplayer

This commit is contained in:
smoogipoo 2019-02-08 15:38:05 +09:00
parent 43240ea85e
commit 99a7ccc01a

View File

@ -49,6 +49,8 @@ namespace osu.Game.Screens.Multi
private readonly LoungeSubScreen loungeSubScreen; private readonly LoungeSubScreen loungeSubScreen;
private readonly ScreenStack screenStack; private readonly ScreenStack screenStack;
private readonly IBindable<bool> isIdle = new BindableBool();
[Cached] [Cached]
private readonly Bindable<Room> currentRoom = new Bindable<Room>(); private readonly Bindable<Room> currentRoom = new Bindable<Room>();
@ -137,8 +139,6 @@ namespace osu.Game.Screens.Multi
screenStack.ScreenExited += screenExited; screenStack.ScreenExited += screenExited;
} }
private readonly IBindable<bool> isIdle = new BindableBool();
[BackgroundDependencyLoader(true)] [BackgroundDependencyLoader(true)]
private void load(IdleTracker idleTracker) private void load(IdleTracker idleTracker)
{ {
@ -148,6 +148,12 @@ namespace osu.Game.Screens.Multi
isIdle.BindTo(idleTracker.IsIdle); isIdle.BindTo(idleTracker.IsIdle);
} }
protected override void LoadComplete()
{
base.LoadComplete();
isIdle.BindValueChanged(updatePollingRate, true);
}
private CachedModelDependencyContainer<Room> dependencies; private CachedModelDependencyContainer<Room> dependencies;
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
@ -157,12 +163,6 @@ namespace osu.Game.Screens.Multi
return dependencies; return dependencies;
} }
protected override void LoadComplete()
{
base.LoadComplete();
isIdle.BindValueChanged(updatePollingRate, true);
}
private void updatePollingRate(bool idle) private void updatePollingRate(bool idle)
{ {
roomManager.TimeBetweenPolls = !this.IsCurrentScreen() || !(screenStack.CurrentScreen is LoungeSubScreen) ? 0 : (idle ? 120000 : 15000); roomManager.TimeBetweenPolls = !this.IsCurrentScreen() || !(screenStack.CurrentScreen is LoungeSubScreen) ? 0 : (idle ? 120000 : 15000);