Tidy up code.

The triggered bool is not even necessary because input is no longer handled after the OverlayContainer's state is set to hidden.
This commit is contained in:
Dean Herbert
2017-03-02 17:08:00 +09:00
parent d1cd077e0d
commit c4871bbbf3
2 changed files with 35 additions and 39 deletions

View File

@ -18,24 +18,28 @@ namespace osu.Game.Overlays
public void Push(PopupDialog dialog)
{
if (dialog == currentDialog) return;
State = Visibility.Visible;
dialogContainer.Add(dialog);
dialog.Show();
dialog.StateChanged += delegate (OverlayContainer c, Visibility v)
{
if (v == Visibility.Hidden)
{
c.Delay(PopupDialog.EXIT_DURATION);
c.Expire();
if (c == currentDialog)
State = Visibility.Hidden;
}
};
var lastDialog = currentDialog;
dialog.Show();
dialog.StateChanged += onDialogOnStateChanged;
currentDialog?.Hide();
currentDialog = dialog;
lastDialog?.Hide();
}
private void onDialogOnStateChanged(OverlayContainer dialog, Visibility v)
{
if (v != Visibility.Hidden) return;
//handle the dialog being dismissed.
dialog.Delay(PopupDialog.EXIT_DURATION);
dialog.Expire();
if (dialog == currentDialog)
State = Visibility.Hidden;
}
protected override void PopIn()