diff --git a/osu.Game/Screens/Multi/Multiplayer.cs b/osu.Game/Screens/Multi/Multiplayer.cs index 2a2927734b..032f40aa18 100644 --- a/osu.Game/Screens/Multi/Multiplayer.cs +++ b/osu.Game/Screens/Multi/Multiplayer.cs @@ -130,8 +130,6 @@ namespace osu.Game.Screens.Multi roomManager = new RoomManager() }); - roomManager.Filter.BindTo(filter); - screenStack.ScreenPushed += screenPushed; screenStack.ScreenExited += screenExited; } diff --git a/osu.Game/Screens/Multi/RoomManager.cs b/osu.Game/Screens/Multi/RoomManager.cs index 554be0dfe2..26bb3a8321 100644 --- a/osu.Game/Screens/Multi/RoomManager.cs +++ b/osu.Game/Screens/Multi/RoomManager.cs @@ -24,15 +24,13 @@ namespace osu.Game.Screens.Multi private readonly BindableList rooms = new BindableList(); public IBindableList Rooms => rooms; - /// - /// The to use when polling for s. - /// - public readonly Bindable Filter = new Bindable(); - public Bindable CurrentRoom { get; } = new Bindable(); private Room joinedRoom; + [Resolved] + private Bindable filter { get; set; } + [Resolved] private APIAccess api { get; set; } @@ -44,14 +42,13 @@ namespace osu.Game.Screens.Multi public RoomManager() { - Filter.BindValueChanged(_ => + filter.BindValueChanged(_ => { if (IsLoaded) PollImmediately(); }); } - protected override void Dispose(bool isDisposing) { base.Dispose(isDisposing); @@ -137,7 +134,7 @@ namespace osu.Game.Screens.Multi var tcs = new TaskCompletionSource(); pollReq?.Cancel(); - pollReq = new GetRoomsRequest(Filter.Value.PrimaryFilter); + pollReq = new GetRoomsRequest(filter.Value.PrimaryFilter); pollReq.Success += result => {