Exit from match screen on escape

This commit is contained in:
smoogipoo
2018-12-25 17:14:56 +09:00
parent 91b83cd4b8
commit d4f5a8507c
2 changed files with 11 additions and 3 deletions

View File

@ -19,10 +19,10 @@ namespace osu.Game.Online.Chat
/// </summary> /// </summary>
public class StandAloneChatDisplay : CompositeDrawable public class StandAloneChatDisplay : CompositeDrawable
{ {
private readonly bool postingTextbox;
public readonly Bindable<Channel> Channel = new Bindable<Channel>(); public readonly Bindable<Channel> Channel = new Bindable<Channel>();
public Action Exit;
private readonly FocusedTextBox textbox; private readonly FocusedTextBox textbox;
protected ChannelManager ChannelManager; protected ChannelManager ChannelManager;
@ -31,6 +31,8 @@ namespace osu.Game.Online.Chat
private DrawableChannel drawableChannel; private DrawableChannel drawableChannel;
private readonly bool postingTextbox;
private const float textbox_height = 30; private const float textbox_height = 30;
/// <summary> /// <summary>
@ -66,6 +68,8 @@ namespace osu.Game.Online.Chat
Anchor = Anchor.BottomLeft, Anchor = Anchor.BottomLeft,
Origin = Anchor.BottomLeft, Origin = Anchor.BottomLeft,
}); });
textbox.Exit += () => Exit?.Invoke();
} }
Channel.BindValueChanged(channelChanged); Channel.BindValueChanged(channelChanged);

View File

@ -28,6 +28,7 @@ namespace osu.Game.Screens.Multi.Match
private readonly RoomBindings bindings = new RoomBindings(); private readonly RoomBindings bindings = new RoomBindings();
private readonly MatchLeaderboard leaderboard; private readonly MatchLeaderboard leaderboard;
private readonly Action<Screen> pushGameplayScreen; private readonly Action<Screen> pushGameplayScreen;
[Cached] [Cached]
@ -49,6 +50,7 @@ namespace osu.Game.Screens.Multi.Match
bindings.Room = room; bindings.Room = room;
MatchChatDisplay chat;
Components.Header header; Components.Header header;
RoomSettingsOverlay settings; RoomSettingsOverlay settings;
@ -71,7 +73,7 @@ namespace osu.Game.Screens.Multi.Match
new Drawable[] new Drawable[]
{ {
leaderboard = new MatchLeaderboard(room) { RelativeSizeAxes = Axes.Both }, leaderboard = new MatchLeaderboard(room) { RelativeSizeAxes = Axes.Both },
new MatchChatDisplay(room) { RelativeSizeAxes = Axes.Both } chat = new MatchChatDisplay(room) { RelativeSizeAxes = Axes.Both }
}, },
}, },
} }
@ -100,6 +102,8 @@ namespace osu.Game.Screens.Multi.Match
else else
settings.Hide(); settings.Hide();
}; };
chat.Exit += Exit;
} }
protected override void LoadComplete() protected override void LoadComplete()