Add game-wide jukebox keybindings handling to OsuGame

This commit is contained in:
Lucas A 2019-07-05 16:33:13 +02:00
parent 5cad2b2192
commit 89acd9da3e
1 changed files with 21 additions and 1 deletions

View File

@ -67,6 +67,8 @@ public class OsuGame : OsuGameBase, IKeyBindingHandler<GlobalAction>
private BeatmapSetOverlay beatmapSetOverlay;
private OnScreenDisplay osd;
[Cached]
private readonly ScreenshotManager screenshotManager = new ScreenshotManager();
@ -456,7 +458,7 @@ protected override void LoadComplete()
});
loadComponentSingleFile(volume = new VolumeOverlay(), leftFloatingOverlayContent.Add);
loadComponentSingleFile(new OnScreenDisplay(), Add, true);
loadComponentSingleFile(osd = new OnScreenDisplay(), Add, true);
loadComponentSingleFile(notifications = new NotificationOverlay
{
@ -719,6 +721,24 @@ public bool OnPressed(GlobalAction action)
case GlobalAction.ToggleGameplayMouseButtons:
LocalConfig.Set(OsuSetting.MouseDisableButtons, !LocalConfig.Get<bool>(OsuSetting.MouseDisableButtons));
return true;
case GlobalAction.MusicPlay:
if (!musicController.IsLoaded) return true;
if (musicController.PlayTrack())
osd.Display(new Overlays.OSD.OsdIconToast(musicController.IsPlaying ? "Play track" : "Pause track", musicController.IsPlaying ? FontAwesome.Solid.PlayCircle : FontAwesome.Solid.PauseCircle));
return true;
case GlobalAction.MusicNext:
if (!musicController.IsLoaded) return true;
if (musicController.NextTrack())
osd.Display(new Overlays.OSD.OsdIconToast("Next track", FontAwesome.Solid.FastForward));
return true;
case GlobalAction.MusicPrev:
if (!musicController.IsLoaded) return true;
if (musicController.PreviousTrack())
osd.Display(new Overlays.OSD.OsdIconToast("Previous track", FontAwesome.Solid.FastForward));
return true;
}
return false;