mirror of
https://github.com/ppy/osu.git
synced 2025-02-16 17:03:18 +08:00
Rename room managers
This commit is contained in:
parent
676070946c
commit
f3dba49aae
@ -19,7 +19,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
{
|
{
|
||||||
public class TestSceneLoungeRoomsContainer : OnlinePlayTestScene
|
public class TestSceneLoungeRoomsContainer : OnlinePlayTestScene
|
||||||
{
|
{
|
||||||
protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
|
protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
|
||||||
|
|
||||||
private RoomsContainer container;
|
private RoomsContainer container;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Audio;
|
using osu.Framework.Audio;
|
||||||
@ -48,7 +49,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
private TestMultiplayer multiplayerScreen;
|
private TestMultiplayer multiplayerScreen;
|
||||||
private TestMultiplayerClient client;
|
private TestMultiplayerClient client;
|
||||||
|
|
||||||
private TestRequestHandlingMultiplayerRoomManager roomManager => multiplayerScreen.RoomManager;
|
private TestMultiplayerRoomManager roomManager => multiplayerScreen.RoomManager;
|
||||||
|
|
||||||
[Cached(typeof(UserLookupCache))]
|
[Cached(typeof(UserLookupCache))]
|
||||||
private UserLookupCache lookupCache = new TestUserLookupCache();
|
private UserLookupCache lookupCache = new TestUserLookupCache();
|
||||||
@ -624,9 +625,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
|
|
||||||
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
|
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
|
||||||
{
|
{
|
||||||
public new TestRequestHandlingMultiplayerRoomManager RoomManager { get; private set; }
|
public new TestMultiplayerRoomManager RoomManager { get; private set; }
|
||||||
|
|
||||||
protected override RoomManager CreateRoomManager() => RoomManager = new TestRequestHandlingMultiplayerRoomManager();
|
protected override RoomManager CreateRoomManager() => RoomManager = new TestMultiplayerRoomManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
{
|
{
|
||||||
public class TestSceneMultiplayerLoungeSubScreen : OnlinePlayTestScene
|
public class TestSceneMultiplayerLoungeSubScreen : OnlinePlayTestScene
|
||||||
{
|
{
|
||||||
protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
|
protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
|
||||||
|
|
||||||
private LoungeSubScreen loungeScreen;
|
private LoungeSubScreen loungeScreen;
|
||||||
|
|
||||||
|
@ -184,9 +184,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
|
|
||||||
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
|
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
|
||||||
{
|
{
|
||||||
public new TestRequestHandlingMultiplayerRoomManager RoomManager { get; private set; }
|
public new TestMultiplayerRoomManager RoomManager { get; private set; }
|
||||||
|
|
||||||
protected override RoomManager CreateRoomManager() => RoomManager = new TestRequestHandlingMultiplayerRoomManager();
|
protected override RoomManager CreateRoomManager() => RoomManager = new TestMultiplayerRoomManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -461,10 +461,10 @@ namespace osu.Game.Tests.Visual.Navigation
|
|||||||
|
|
||||||
public TestMultiplayer()
|
public TestMultiplayer()
|
||||||
{
|
{
|
||||||
Client = new TestMultiplayerClient((TestRequestHandlingMultiplayerRoomManager)RoomManager);
|
Client = new TestMultiplayerClient((TestMultiplayerRoomManager)RoomManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override RoomManager CreateRoomManager() => new TestRequestHandlingMultiplayerRoomManager();
|
protected override RoomManager CreateRoomManager() => new TestMultiplayerRoomManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ namespace osu.Game.Tests.Visual.Playlists
|
|||||||
{
|
{
|
||||||
public class TestScenePlaylistsLoungeSubScreen : OnlinePlayTestScene
|
public class TestScenePlaylistsLoungeSubScreen : OnlinePlayTestScene
|
||||||
{
|
{
|
||||||
protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
|
protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
|
||||||
|
|
||||||
private TestLoungeSubScreen loungeScreen;
|
private TestLoungeSubScreen loungeScreen;
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cached <see cref="IRoomManager"/>.
|
/// The cached <see cref="IRoomManager"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
new TestRequestHandlingMultiplayerRoomManager RoomManager { get; }
|
new TestMultiplayerRoomManager RoomManager { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cached <see cref="UserLookupCache"/>.
|
/// The cached <see cref="UserLookupCache"/>.
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
public const int PLAYER_2_ID = 56;
|
public const int PLAYER_2_ID = 56;
|
||||||
|
|
||||||
public TestMultiplayerClient Client => OnlinePlayDependencies.Client;
|
public TestMultiplayerClient Client => OnlinePlayDependencies.Client;
|
||||||
public new TestRequestHandlingMultiplayerRoomManager RoomManager => OnlinePlayDependencies.RoomManager;
|
public new TestMultiplayerRoomManager RoomManager => OnlinePlayDependencies.RoomManager;
|
||||||
public TestUserLookupCache LookupCache => OnlinePlayDependencies?.LookupCache;
|
public TestUserLookupCache LookupCache => OnlinePlayDependencies?.LookupCache;
|
||||||
public TestSpectatorClient SpectatorClient => OnlinePlayDependencies?.SpectatorClient;
|
public TestSpectatorClient SpectatorClient => OnlinePlayDependencies?.SpectatorClient;
|
||||||
|
|
||||||
@ -35,12 +35,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
public new void Setup() => Schedule(() =>
|
public new void Setup() => Schedule(() =>
|
||||||
{
|
{
|
||||||
if (joinRoom)
|
if (joinRoom)
|
||||||
{
|
SelectedRoom.Value = CreateRoom();
|
||||||
var room = CreateRoom();
|
|
||||||
|
|
||||||
RoomManager.CreateRoom(room);
|
|
||||||
SelectedRoom.Value = room;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
protected virtual Room CreateRoom()
|
protected virtual Room CreateRoom()
|
||||||
@ -64,8 +59,11 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
base.SetUpSteps();
|
base.SetUpSteps();
|
||||||
|
|
||||||
if (joinRoom)
|
if (joinRoom)
|
||||||
|
{
|
||||||
|
AddStep("join room", () => RoomManager.CreateRoom(SelectedRoom.Value));
|
||||||
AddUntilStep("wait for room join", () => Client.Room != null);
|
AddUntilStep("wait for room join", () => Client.Room != null);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected override OnlinePlayTestSceneDependencies CreateOnlinePlayDependencies() => new MultiplayerTestSceneDependencies();
|
protected override OnlinePlayTestSceneDependencies CreateOnlinePlayDependencies() => new MultiplayerTestSceneDependencies();
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
public TestMultiplayerClient Client { get; }
|
public TestMultiplayerClient Client { get; }
|
||||||
public TestUserLookupCache LookupCache { get; }
|
public TestUserLookupCache LookupCache { get; }
|
||||||
public TestSpectatorClient SpectatorClient { get; }
|
public TestSpectatorClient SpectatorClient { get; }
|
||||||
public new TestRequestHandlingMultiplayerRoomManager RoomManager => (TestRequestHandlingMultiplayerRoomManager)base.RoomManager;
|
public new TestMultiplayerRoomManager RoomManager => (TestMultiplayerRoomManager)base.RoomManager;
|
||||||
|
|
||||||
public MultiplayerTestSceneDependencies()
|
public MultiplayerTestSceneDependencies()
|
||||||
{
|
{
|
||||||
@ -31,7 +31,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
CacheAs<SpectatorClient>(SpectatorClient);
|
CacheAs<SpectatorClient>(SpectatorClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IRoomManager CreateRoomManager() => new TestRequestHandlingMultiplayerRoomManager();
|
protected override IRoomManager CreateRoomManager() => new TestMultiplayerRoomManager();
|
||||||
|
|
||||||
protected virtual TestSpectatorClient CreateSpectatorClient() => new TestSpectatorClient();
|
protected virtual TestSpectatorClient CreateSpectatorClient() => new TestSpectatorClient();
|
||||||
}
|
}
|
||||||
|
@ -39,9 +39,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
[Resolved]
|
[Resolved]
|
||||||
private BeatmapManager beatmaps { get; set; } = null!;
|
private BeatmapManager beatmaps { get; set; } = null!;
|
||||||
|
|
||||||
private readonly TestRequestHandlingMultiplayerRoomManager roomManager;
|
private readonly TestMultiplayerRoomManager roomManager;
|
||||||
|
|
||||||
public TestMultiplayerClient(TestRequestHandlingMultiplayerRoomManager roomManager)
|
public TestMultiplayerClient(TestMultiplayerRoomManager roomManager)
|
||||||
{
|
{
|
||||||
this.roomManager = roomManager;
|
this.roomManager = roomManager;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Game.Online.API;
|
|
||||||
using osu.Game.Online.Rooms;
|
using osu.Game.Online.Rooms;
|
||||||
using osu.Game.Screens.OnlinePlay.Components;
|
using osu.Game.Screens.OnlinePlay.Components;
|
||||||
using osu.Game.Screens.OnlinePlay.Multiplayer;
|
using osu.Game.Screens.OnlinePlay.Multiplayer;
|
||||||
@ -12,25 +11,20 @@ using osu.Game.Tests.Visual.OnlinePlay;
|
|||||||
namespace osu.Game.Tests.Visual.Multiplayer
|
namespace osu.Game.Tests.Visual.Multiplayer
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A <see cref="RoomManager"/> for use in multiplayer test scenes, backed by a <see cref="TestRoomRequestsHandler"/>.
|
/// A <see cref="RoomManager"/> for use in multiplayer test scenes.
|
||||||
/// Should generally not be used by itself outside of a <see cref="MultiplayerTestScene"/>.
|
/// Should generally not be used by itself outside of a <see cref="MultiplayerTestScene"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class TestRequestHandlingMultiplayerRoomManager : MultiplayerRoomManager
|
public class TestMultiplayerRoomManager : MultiplayerRoomManager
|
||||||
{
|
{
|
||||||
public IReadOnlyList<Room> ServerSideRooms => handler.ServerSideRooms;
|
[Resolved]
|
||||||
|
private TestRoomRequestsHandler requestsHandler { get; set; }
|
||||||
|
|
||||||
private readonly TestRoomRequestsHandler handler = new TestRoomRequestsHandler();
|
public IReadOnlyList<Room> ServerSideRooms => requestsHandler.ServerSideRooms;
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
|
||||||
private void load(IAPIProvider api, OsuGameBase game)
|
|
||||||
{
|
|
||||||
((DummyAPIAccess)api).HandleRequest = request => handler.HandleRequest(request, api.LocalUser.Value, game);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds a room to a local "server-side" list that's returned when a <see cref="GetRoomsRequest"/> is fired.
|
/// Adds a room to a local "server-side" list that's returned when a <see cref="GetRoomsRequest"/> is fired.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="room">The room.</param>
|
/// <param name="room">The room.</param>
|
||||||
public void AddServerSideRoom(Room room) => handler.AddServerSideRoom(room);
|
public void AddServerSideRoom(Room room) => requestsHandler.AddServerSideRoom(room);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -36,7 +36,6 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
private readonly Container content;
|
private readonly Container content;
|
||||||
private readonly Container drawableDependenciesContainer;
|
private readonly Container drawableDependenciesContainer;
|
||||||
private DelegatedDependencyContainer dependencies;
|
private DelegatedDependencyContainer dependencies;
|
||||||
private TestRoomRequestsHandler requestsHandler;
|
|
||||||
|
|
||||||
protected OnlinePlayTestScene()
|
protected OnlinePlayTestScene()
|
||||||
{
|
{
|
||||||
@ -65,12 +64,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
public override void SetUpSteps()
|
public override void SetUpSteps()
|
||||||
{
|
{
|
||||||
base.SetUpSteps();
|
base.SetUpSteps();
|
||||||
|
AddStep("setup API", () => ((DummyAPIAccess)API).HandleRequest = request => OnlinePlayDependencies.RequestsHandler.HandleRequest(request, API.LocalUser.Value, game));
|
||||||
AddStep("setup API", () =>
|
|
||||||
{
|
|
||||||
requestsHandler = new TestRoomRequestsHandler();
|
|
||||||
((DummyAPIAccess)API).HandleRequest = request => requestsHandler.HandleRequest(request, API.LocalUser.Value, game);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -21,6 +21,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
public IRoomManager RoomManager { get; }
|
public IRoomManager RoomManager { get; }
|
||||||
public OngoingOperationTracker OngoingOperationTracker { get; }
|
public OngoingOperationTracker OngoingOperationTracker { get; }
|
||||||
public OnlinePlayBeatmapAvailabilityTracker AvailabilityTracker { get; }
|
public OnlinePlayBeatmapAvailabilityTracker AvailabilityTracker { get; }
|
||||||
|
public TestRoomRequestsHandler RequestsHandler { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// All cached dependencies which are also <see cref="Drawable"/> components.
|
/// All cached dependencies which are also <see cref="Drawable"/> components.
|
||||||
@ -36,9 +37,11 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
RoomManager = CreateRoomManager();
|
RoomManager = CreateRoomManager();
|
||||||
OngoingOperationTracker = new OngoingOperationTracker();
|
OngoingOperationTracker = new OngoingOperationTracker();
|
||||||
AvailabilityTracker = new OnlinePlayBeatmapAvailabilityTracker();
|
AvailabilityTracker = new OnlinePlayBeatmapAvailabilityTracker();
|
||||||
|
RequestsHandler = new TestRoomRequestsHandler();
|
||||||
|
|
||||||
dependencies = new DependencyContainer(new CachedModelDependencyContainer<Room>(null) { Model = { BindTarget = SelectedRoom } });
|
dependencies = new DependencyContainer(new CachedModelDependencyContainer<Room>(null) { Model = { BindTarget = SelectedRoom } });
|
||||||
|
|
||||||
|
CacheAs(RequestsHandler);
|
||||||
CacheAs(SelectedRoom);
|
CacheAs(SelectedRoom);
|
||||||
CacheAs(RoomManager);
|
CacheAs(RoomManager);
|
||||||
CacheAs(OngoingOperationTracker);
|
CacheAs(OngoingOperationTracker);
|
||||||
@ -71,6 +74,6 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
drawableComponents.Add(drawable);
|
drawableComponents.Add(drawable);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual IRoomManager CreateRoomManager() => new TestRequestHandlingRoomManager();
|
protected virtual IRoomManager CreateRoomManager() => new TestRoomManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// A very simple <see cref="RoomManager"/> for use in online play test scenes.
|
/// A very simple <see cref="RoomManager"/> for use in online play test scenes.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class TestRequestHandlingRoomManager : RoomManager
|
public class TestRoomManager : RoomManager
|
||||||
{
|
{
|
||||||
public Action<Room, string> JoinRoomRequested;
|
public Action<Room, string> JoinRoomRequested;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user