From a7ac544e12c245038ee7afe0d39fef604a5f1ad5 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Tue, 4 Dec 2018 17:43:44 +0900 Subject: [PATCH] Add interface for the multiplayer screen short title --- osu.Game/Screens/Multi/Header.cs | 2 +- osu.Game/Screens/Multi/Screens/IMultiplayerScreen.cs | 10 ++++++++++ osu.Game/Screens/Multi/Screens/Match/Match.cs | 3 ++- osu.Game/Screens/Multi/Screens/MultiplayerScreen.cs | 7 ++----- osu.Game/Screens/Select/MatchSongSelect.cs | 6 +++++- 5 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 osu.Game/Screens/Multi/Screens/IMultiplayerScreen.cs diff --git a/osu.Game/Screens/Multi/Header.cs b/osu.Game/Screens/Multi/Header.cs index 6bd300eadc..612a3e6993 100644 --- a/osu.Game/Screens/Multi/Header.cs +++ b/osu.Game/Screens/Multi/Header.cs @@ -86,7 +86,7 @@ namespace osu.Game.Screens.Multi }, }; - breadcrumbs.Current.ValueChanged += s => screenType.Text = ((MultiplayerScreen)s).Type.ToLowerInvariant(); + breadcrumbs.Current.ValueChanged += s => screenType.Text = ((IMultiplayerScreen)s).ShortTitle.ToLowerInvariant(); breadcrumbs.Current.TriggerChange(); } diff --git a/osu.Game/Screens/Multi/Screens/IMultiplayerScreen.cs b/osu.Game/Screens/Multi/Screens/IMultiplayerScreen.cs new file mode 100644 index 0000000000..0b6ebc3716 --- /dev/null +++ b/osu.Game/Screens/Multi/Screens/IMultiplayerScreen.cs @@ -0,0 +1,10 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Screens.Multi.Screens +{ + public interface IMultiplayerScreen + { + string ShortTitle { get; } + } +} diff --git a/osu.Game/Screens/Multi/Screens/Match/Match.cs b/osu.Game/Screens/Multi/Screens/Match/Match.cs index f0f7a1dd6b..2dbe0a9c3a 100644 --- a/osu.Game/Screens/Multi/Screens/Match/Match.cs +++ b/osu.Game/Screens/Multi/Screens/Match/Match.cs @@ -28,9 +28,10 @@ namespace osu.Game.Screens.Multi.Screens.Match protected override Container TransitionContent => participants; - public override string Type => "room"; public override string Title => room.Name.Value; + public override string ShortTitle => "room"; + public Match(Room room) { this.room = room; diff --git a/osu.Game/Screens/Multi/Screens/MultiplayerScreen.cs b/osu.Game/Screens/Multi/Screens/MultiplayerScreen.cs index 00c2613d54..fd866a5fef 100644 --- a/osu.Game/Screens/Multi/Screens/MultiplayerScreen.cs +++ b/osu.Game/Screens/Multi/Screens/MultiplayerScreen.cs @@ -8,14 +8,11 @@ using osu.Game.Graphics.Containers; namespace osu.Game.Screens.Multi.Screens { - public abstract class MultiplayerScreen : OsuScreen + public abstract class MultiplayerScreen : OsuScreen, IMultiplayerScreen { protected virtual Container TransitionContent => Content; - /// - /// The type to display in the title of the . - /// - public virtual string Type => Title; + public virtual string ShortTitle => Title; protected override void OnEntering(Screen last) { diff --git a/osu.Game/Screens/Select/MatchSongSelect.cs b/osu.Game/Screens/Select/MatchSongSelect.cs index 339392d5cf..28525215fb 100644 --- a/osu.Game/Screens/Select/MatchSongSelect.cs +++ b/osu.Game/Screens/Select/MatchSongSelect.cs @@ -1,10 +1,14 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Game.Screens.Multi.Screens; + namespace osu.Game.Screens.Select { - public class MatchSongSelect : SongSelect + public class MatchSongSelect : SongSelect, IMultiplayerScreen { + public string ShortTitle => "song selection"; + protected override bool OnStart() { if (IsCurrentScreen) Exit();