diff --git a/osu.Game.Tournament.Tests/TestSceneGameplayScreen.cs b/osu.Game.Tournament.Tests/TestSceneGameplayScreen.cs index 1b73c798fc..74d8615db0 100644 --- a/osu.Game.Tournament.Tests/TestSceneGameplayScreen.cs +++ b/osu.Game.Tournament.Tests/TestSceneGameplayScreen.cs @@ -11,7 +11,7 @@ namespace osu.Game.Tournament.Tests public class TestSceneGameplayScreen : OsuTestScene { [Cached] - private MatchChatDisplay chat = new MatchChatDisplay(); + private TournamentMatchChatDisplay chat = new TournamentMatchChatDisplay(); [BackgroundDependencyLoader] private void load() diff --git a/osu.Game.Tournament.Tests/TestSceneMatchChatDisplay.cs b/osu.Game.Tournament.Tests/TestSceneTournamentMatchChatDisplay.cs similarity index 64% rename from osu.Game.Tournament.Tests/TestSceneMatchChatDisplay.cs rename to osu.Game.Tournament.Tests/TestSceneTournamentMatchChatDisplay.cs index 4fccb2996b..8a3950bac3 100644 --- a/osu.Game.Tournament.Tests/TestSceneMatchChatDisplay.cs +++ b/osu.Game.Tournament.Tests/TestSceneTournamentMatchChatDisplay.cs @@ -10,13 +10,13 @@ using osu.Game.Tournament.Components; using osu.Game.Tournament.IPC; using osu.Game.Tournament.Screens.Ladder.Components; using osu.Game.Users; -using osuTK; namespace osu.Game.Tournament.Tests { - public class TestSceneMatchChatDisplay : OsuTestScene + public class TestSceneTournamentMatchChatDisplay : OsuTestScene { private readonly Channel testChannel = new Channel(); + private readonly Channel testChannel2 = new Channel(); private readonly User admin = new User { @@ -43,15 +43,14 @@ namespace osu.Game.Tournament.Tests [Cached] private MatchIPCInfo matchInfo = new MatchIPCInfo(); // hide parent - public TestSceneMatchChatDisplay() - { - MatchChatDisplay chatDisplay; + private readonly TournamentMatchChatDisplay chatDisplay; - Add(chatDisplay = new MatchChatDisplay + public TestSceneTournamentMatchChatDisplay() + { + Add(chatDisplay = new TournamentMatchChatDisplay { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Size = new Vector2(400, 80) }); ladderInfo.CurrentMatch.Value = new MatchPairing @@ -73,35 +72,59 @@ namespace osu.Game.Tournament.Tests { base.LoadComplete(); - AddStep("message from admin", () => testChannel.AddLocalEcho(new LocalEchoMessage + AddStep("message from admin", () => testChannel.AddNewMessages(new Message(nextMessageId()) { Sender = admin, Content = "I am a wang!" })); - AddStep("message from team red", () => testChannel.AddLocalEcho(new LocalEchoMessage + AddStep("message from team red", () => testChannel.AddNewMessages(new Message(nextMessageId()) { Sender = redUser, Content = "I am team red." })); - AddStep("message from team red", () => testChannel.AddLocalEcho(new LocalEchoMessage + AddStep("message from team red", () => testChannel.AddNewMessages(new Message(nextMessageId()) { Sender = redUser, Content = "I plan to win!" })); - AddStep("message from team blue", () => testChannel.AddLocalEcho(new LocalEchoMessage + AddStep("message from team blue", () => testChannel.AddNewMessages(new Message(nextMessageId()) { Sender = blueUser, Content = "Not on my watch. Prepare to eat saaaaaaaaaand. Lots and lots of saaaaaaand." })); - AddStep("message from admin", () => testChannel.AddLocalEcho(new LocalEchoMessage + AddStep("message from admin", () => testChannel.AddNewMessages(new Message(nextMessageId()) { Sender = admin, Content = "Okay okay, calm down guys. Let's do this!" })); + + AddStep("multiple messages", () => testChannel.AddNewMessages(new Message(nextMessageId()) + { + Sender = admin, + Content = "I spam you!" + }, + new Message(nextMessageId()) + { + Sender = admin, + Content = "I spam you!!!1" + }, + new Message(nextMessageId()) + { + Sender = admin, + Content = "I spam you!1!1" + })); + + AddStep("change channel to 2", () => chatDisplay.Channel.Value = testChannel2); + + AddStep("change channel to 1", () => chatDisplay.Channel.Value = testChannel); } + + private int messageId; + + private long? nextMessageId() => messageId++; } } diff --git a/osu.Game.Tournament/Components/MatchChatDisplay.cs b/osu.Game.Tournament/Components/TournamentMatchChatDisplay.cs similarity index 96% rename from osu.Game.Tournament/Components/MatchChatDisplay.cs rename to osu.Game.Tournament/Components/TournamentMatchChatDisplay.cs index fbf6949540..2afbb0f5ff 100644 --- a/osu.Game.Tournament/Components/MatchChatDisplay.cs +++ b/osu.Game.Tournament/Components/TournamentMatchChatDisplay.cs @@ -13,13 +13,13 @@ using osuTK.Graphics; namespace osu.Game.Tournament.Components { - public class MatchChatDisplay : StandAloneChatDisplay + public class TournamentMatchChatDisplay : StandAloneChatDisplay { private readonly Bindable chatChannel = new Bindable(); private ChannelManager manager; - public MatchChatDisplay() + public TournamentMatchChatDisplay() { RelativeSizeAxes = Axes.X; Y = 100; diff --git a/osu.Game.Tournament/Screens/Gameplay/GameplayScreen.cs b/osu.Game.Tournament/Screens/Gameplay/GameplayScreen.cs index ca7d017bf3..fad1919510 100644 --- a/osu.Game.Tournament/Screens/Gameplay/GameplayScreen.cs +++ b/osu.Game.Tournament/Screens/Gameplay/GameplayScreen.cs @@ -36,7 +36,7 @@ namespace osu.Game.Tournament.Screens.Gameplay private TournamentSceneManager sceneManager { get; set; } [Resolved] - private MatchChatDisplay chat { get; set; } + private TournamentMatchChatDisplay chat { get; set; } [BackgroundDependencyLoader] private void load(LadderInfo ladder, MatchIPCInfo ipc) diff --git a/osu.Game.Tournament/Screens/TournamentSceneManager.cs b/osu.Game.Tournament/Screens/TournamentSceneManager.cs index f1a2f2219b..2c620f4e56 100644 --- a/osu.Game.Tournament/Screens/TournamentSceneManager.cs +++ b/osu.Game.Tournament/Screens/TournamentSceneManager.cs @@ -32,7 +32,7 @@ namespace osu.Game.Tournament.Screens private TourneyVideo video; [Cached] - private MatchChatDisplay chat = new MatchChatDisplay(); + private TournamentMatchChatDisplay chat = new TournamentMatchChatDisplay(); private Container chatContainer;