Combine roommanager and roompollingcomponent

This commit is contained in:
smoogipoo
2019-02-08 13:01:10 +09:00
parent 17fdfc15d9
commit 990bd44ca2
3 changed files with 68 additions and 97 deletions

View File

@ -48,7 +48,6 @@ namespace osu.Game.Screens.Multi
private readonly OsuButton createButton;
private readonly LoungeSubScreen loungeSubScreen;
private readonly ScreenStack screenStack;
private readonly RoomPollingComponent pollingComponent;
[Cached]
private readonly Bindable<FilterCriteria> filter = new Bindable<FilterCriteria>();
@ -104,7 +103,7 @@ namespace osu.Game.Screens.Multi
},
},
},
roomManager = new RoomManager
new Container
{
RelativeSizeAxes = Axes.Both,
Padding = new MarginPadding { Top = Header.HEIGHT },
@ -128,11 +127,10 @@ namespace osu.Game.Screens.Multi
Name = { Value = $"{api.LocalUser}'s awesome room" }
}),
},
pollingComponent = new RoomPollingComponent()
roomManager = new RoomManager()
});
pollingComponent.Filter.BindTo(filter);
pollingComponent.RoomsRetrieved += roomManager.UpdateRooms;
roomManager.Filter.BindTo(filter);
screenStack.ScreenPushed += screenPushed;
screenStack.ScreenExited += screenExited;
@ -166,8 +164,8 @@ namespace osu.Game.Screens.Multi
private void updatePollingRate(bool idle)
{
pollingComponent.TimeBetweenPolls = !this.IsCurrentScreen() || !(screenStack.CurrentScreen is LoungeSubScreen) ? 0 : (idle ? 120000 : 15000);
Logger.Log($"Polling adjusted to {pollingComponent.TimeBetweenPolls}");
roomManager.TimeBetweenPolls = !this.IsCurrentScreen() || !(screenStack.CurrentScreen is LoungeSubScreen) ? 0 : (idle ? 120000 : 15000);
Logger.Log($"Polling adjusted to {roomManager.TimeBetweenPolls}");
}
public void APIStateChanged(APIAccess api, APIState state)
@ -230,7 +228,7 @@ namespace osu.Game.Screens.Multi
this.FadeOut(250);
cancelLooping();
pollingComponent.TimeBetweenPolls = 0;
roomManager.TimeBetweenPolls = 0;
}
private void cancelLooping()