Fix regressions caused by overlay class.

This commit is contained in:
Dean Herbert 2016-10-14 12:50:03 +09:00
parent b425d14ea1
commit 8c7ff58310
2 changed files with 14 additions and 9 deletions

View File

@ -97,7 +97,6 @@ namespace osu.Game
OnHome = delegate { MainMenu?.MakeCurrent(); },
OnSettings = Options.ToggleVisibility,
OnPlayModeChange = delegate (PlayMode m) { PlayMode.Value = m; },
Alpha = 0.001f,
},
Chat = new ChatConsole(API),
new VolumeControl
@ -112,12 +111,6 @@ namespace osu.Game
}
});
Toolbar.State = Visibility.Hidden;
Toolbar.Flush();
Chat.State = Visibility.Hidden;
Chat.Flush();
intro.ModePushed += modeAdded;
intro.Exited += modeRemoved;

View File

@ -3,8 +3,20 @@ using osu.Framework.Graphics.Containers;
namespace osu.Game.Overlays
{
/// <summary>
/// An element which starts hidden and can be toggled to visible.
/// </summary>
public abstract class Overlay : Container, IStateful<Visibility>
{
public override void Load(BaseGame game)
{
base.Load(game);
//TODO: init code using Alpha or IsVisible override to ensure we don't call Load on children before we first get unhidden.
PopOut();
Flush();
}
private Visibility state;
public Visibility State
{
@ -30,9 +42,9 @@ namespace osu.Game.Overlays
protected abstract void PopOut();
public void ToggleVisibility()
=> State = (State == Visibility.Visible ? Visibility.Hidden : Visibility.Visible);
public void ToggleVisibility() => State = (State == Visibility.Visible ? Visibility.Hidden : Visibility.Visible);
}
public enum Visibility
{
Hidden,