Add OsuFocusedOverlayContainer with predefined sounds.

This commit is contained in:
Dean Herbert 2017-06-28 10:18:12 -07:00
parent 480cdba023
commit 28f0da606a
12 changed files with 57 additions and 10 deletions

View File

@ -0,0 +1,38 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Allocation;
using osu.Framework.Audio;
using osu.Framework.Audio.Sample;
using osu.Framework.Graphics.Containers;
namespace osu.Game.Graphics.Containers
{
public class OsuFocusedOverlayContainer : FocusedOverlayContainer
{
private SampleChannel samplePopIn;
private SampleChannel samplePopOut;
[BackgroundDependencyLoader]
private void load(AudioManager audio)
{
samplePopIn = audio.Sample.Get(@"UI/melodic-5");
samplePopOut = audio.Sample.Get(@"UI/melodic-4");
StateChanged += OsuFocusedOverlayContainer_StateChanged;
}
private void OsuFocusedOverlayContainer_StateChanged(VisibilityContainer arg1, Visibility arg2)
{
switch (arg2)
{
case Visibility.Visible:
samplePopIn?.Play();
break;
case Visibility.Hidden:
samplePopOut?.Play();
break;
}
}
}
}

View File

@ -16,10 +16,11 @@
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.Chat;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays.Chat
{
public class ChannelSelectionOverlay : FocusedOverlayContainer
public class ChannelSelectionOverlay : OsuFocusedOverlayContainer
{
public static readonly float WIDTH_PADDING = 170;

View File

@ -22,10 +22,11 @@
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Overlays.Chat;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
public class ChatOverlay : FocusedOverlayContainer, IOnlineComponent
public class ChatOverlay : OsuFocusedOverlayContainer, IOnlineComponent
{
private const float textbox_height = 60;
private const float channel_selection_min_height = 0.3f;

View File

@ -15,10 +15,11 @@
using OpenTK.Graphics;
using OpenTK.Input;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays.Dialog
{
public class PopupDialog : FocusedOverlayContainer
public class PopupDialog : OsuFocusedOverlayContainer
{
public static readonly float ENTER_DURATION = 500;
public static readonly float EXIT_DURATION = 200;

View File

@ -7,10 +7,11 @@
using osu.Game.Overlays.Dialog;
using OpenTK.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
public class DialogOverlay : FocusedOverlayContainer
public class DialogOverlay : OsuFocusedOverlayContainer
{
private readonly Container dialogContainer;
private PopupDialog currentDialog;

View File

@ -8,10 +8,11 @@
using osu.Game.Overlays.Settings.Sections.General;
using OpenTK.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
internal class LoginOverlay : FocusedOverlayContainer
internal class LoginOverlay : OsuFocusedOverlayContainer
{
private LoginSettings settingsSection;

View File

@ -24,10 +24,11 @@
using osu.Game.Overlays.Music;
using osu.Game.Graphics.UserInterface;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
public class MusicController : FocusedOverlayContainer
public class MusicController : OsuFocusedOverlayContainer
{
private const float player_height = 130;

View File

@ -9,10 +9,11 @@
using osu.Game.Overlays.Notifications;
using OpenTK.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
public class NotificationManager : FocusedOverlayContainer
public class NotificationManager : OsuFocusedOverlayContainer
{
private const float width = 320;

View File

@ -15,7 +15,7 @@
namespace osu.Game.Overlays
{
public class SettingsOverlay : FocusedOverlayContainer
public class SettingsOverlay : OsuFocusedOverlayContainer
{
internal const float CONTENT_MARGINS = 10;

View File

@ -8,10 +8,11 @@
using osu.Framework.Graphics;
using System;
using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays
{
public abstract class WaveOverlayContainer : FocusedOverlayContainer
public abstract class WaveOverlayContainer : OsuFocusedOverlayContainer
{
protected const float APPEAR_DURATION = 800;
protected const float DISAPPEAR_DURATION = 500;

View File

@ -14,7 +14,7 @@
namespace osu.Game.Screens.Select.Options
{
public class BeatmapOptionsOverlay : FocusedOverlayContainer
public class BeatmapOptionsOverlay : OsuFocusedOverlayContainer
{
private const float transition_duration = 500;
private const float x_position = 0.2f;

View File

@ -77,6 +77,7 @@
<Compile Include="Beatmaps\Drawables\BeatmapBackgroundSprite.cs" />
<Compile Include="Beatmaps\DifficultyCalculator.cs" />
<Compile Include="Graphics\Containers\OsuClickableContainer.cs" />
<Compile Include="Graphics\Containers\OsuFocusedOverlayContainer.cs" />
<Compile Include="Graphics\Cursor\OsuContextMenuContainer.cs" />
<Compile Include="Graphics\UserInterface\IconButton.cs" />
<Compile Include="Configuration\SelectionRandomType.cs" />