diff --git a/osu.Desktop/OsuGameDesktop.cs b/osu.Desktop/OsuGameDesktop.cs
index 00cabbadf7..975b7f9f5a 100644
--- a/osu.Desktop/OsuGameDesktop.cs
+++ b/osu.Desktop/OsuGameDesktop.cs
@@ -7,7 +7,6 @@ using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using osu.Desktop.Overlays;
-using osu.Framework.Graphics.Containers;
using osu.Framework.Platform;
using osu.Game;
using osuTK.Input;
@@ -56,7 +55,7 @@ namespace osu.Desktop
LoadComponentAsync(versionManager = new VersionManager { Depth = int.MinValue }, v =>
{
Add(v);
- v.State = Visibility.Visible;
+ v.Show();
});
if (RuntimeInfo.OS == RuntimeInfo.Platform.Windows)
@@ -74,13 +73,11 @@ namespace osu.Desktop
{
case Intro _:
case MainMenu _:
- if (versionManager != null)
- versionManager.State = Visibility.Visible;
+ versionManager?.Show();
break;
default:
- if (versionManager != null)
- versionManager.State = Visibility.Hidden;
+ versionManager?.Hide();
break;
}
}
diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneResumeOverlay.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneResumeOverlay.cs
index 12a3a8d27e..8e73d6152f 100644
--- a/osu.Game.Rulesets.Osu.Tests/TestSceneResumeOverlay.cs
+++ b/osu.Game.Rulesets.Osu.Tests/TestSceneResumeOverlay.cs
@@ -46,11 +46,11 @@ namespace osu.Game.Rulesets.Osu.Tests
AddStep("move mouse away", () => InputManager.MoveMouseTo(ScreenSpaceDrawQuad.TopLeft));
AddStep("click", () => osuInputManager.GameClick());
- AddAssert("not dismissed", () => !resumeFired && resume.State == Visibility.Visible);
+ AddAssert("not dismissed", () => !resumeFired && resume.State.Value == Visibility.Visible);
AddStep("move mouse back", () => InputManager.MoveMouseTo(ScreenSpaceDrawQuad.Centre));
AddStep("click", () => osuInputManager.GameClick());
- AddAssert("dismissed", () => resumeFired && resume.State == Visibility.Hidden);
+ AddAssert("dismissed", () => resumeFired && resume.State.Value == Visibility.Hidden);
}
private class ManualOsuInputManager : OsuInputManager
diff --git a/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs b/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
index 0d4e7edb7b..9e5df0d6b1 100644
--- a/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
+++ b/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
@@ -22,7 +22,7 @@ namespace osu.Game.Rulesets.Osu.UI
private GameplayCursorContainer localCursorContainer;
- public override CursorContainer LocalCursor => State == Visibility.Visible ? localCursorContainer : null;
+ public override CursorContainer LocalCursor => State.Value == Visibility.Visible ? localCursorContainer : null;
protected override string Message => "Click the orange cursor to resume";
diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneFailAnimation.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneFailAnimation.cs
index 4878587dcd..f06f72615b 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestSceneFailAnimation.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestSceneFailAnimation.cs
@@ -28,7 +28,7 @@ namespace osu.Game.Tests.Visual.Gameplay
protected override void AddCheckSteps()
{
AddUntilStep("wait for fail", () => Player.HasFailed);
- AddUntilStep("wait for fail overlay", () => ((FailPlayer)Player).FailOverlay.State == Visibility.Visible);
+ AddUntilStep("wait for fail overlay", () => ((FailPlayer)Player).FailOverlay.State.Value == Visibility.Visible);
}
private class FailPlayer : TestPlayer
diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayMenuOverlay.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayMenuOverlay.cs
index ba9c583b08..4727140d99 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayMenuOverlay.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayMenuOverlay.cs
@@ -97,7 +97,7 @@ namespace osu.Game.Tests.Visual.Gameplay
AddStep("Show overlay", () => pauseOverlay.Show());
AddStep("Press select", () => press(GlobalAction.Select));
- AddAssert("Overlay still open", () => pauseOverlay.State == Visibility.Visible);
+ AddAssert("Overlay still open", () => pauseOverlay.State.Value == Visibility.Visible);
AddStep("Hide overlay", () => pauseOverlay.Hide());
}
@@ -237,7 +237,7 @@ namespace osu.Game.Tests.Visual.Gameplay
});
AddAssert("Action was triggered", () => triggered);
- AddAssert("Overlay is closed", () => pauseOverlay.State == Visibility.Hidden);
+ AddAssert("Overlay is closed", () => pauseOverlay.State.Value == Visibility.Hidden);
}
///
@@ -272,7 +272,7 @@ namespace osu.Game.Tests.Visual.Gameplay
return triggered;
});
- AddAssert("Overlay is closed", () => pauseOverlay.State == Visibility.Hidden);
+ AddAssert("Overlay is closed", () => pauseOverlay.State.Value == Visibility.Hidden);
}
private void press(Key key)
diff --git a/osu.Game.Tests/Visual/Gameplay/TestScenePause.cs b/osu.Game.Tests/Visual/Gameplay/TestScenePause.cs
index 0f5ee66f50..ac10c77a78 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestScenePause.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestScenePause.cs
@@ -203,9 +203,9 @@ namespace osu.Game.Tests.Visual.Gameplay
public new HUDOverlay HUDOverlay => base.HUDOverlay;
- public bool FailOverlayVisible => FailOverlay.State == Visibility.Visible;
+ public bool FailOverlayVisible => FailOverlay.State.Value == Visibility.Visible;
- public bool PauseOverlayVisible => PauseOverlay.State == Visibility.Visible;
+ public bool PauseOverlayVisible => PauseOverlay.State.Value == Visibility.Visible;
public override void OnEntering(IScreen last)
{
diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneStoryboard.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneStoryboard.cs
index 213cdf5e48..ead7a4b7fc 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestSceneStoryboard.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestSceneStoryboard.cs
@@ -46,7 +46,7 @@ namespace osu.Game.Tests.Visual.Gameplay
{
Origin = Anchor.TopRight,
Anchor = Anchor.TopRight,
- State = Visibility.Visible,
+ State = { Value = Visibility.Visible },
});
AddStep("Restart", restart);
diff --git a/osu.Game.Tests/Visual/Menus/TestSceneToolbar.cs b/osu.Game.Tests/Visual/Menus/TestSceneToolbar.cs
index 0c789d8cb7..0df6605cdd 100644
--- a/osu.Game.Tests/Visual/Menus/TestSceneToolbar.cs
+++ b/osu.Game.Tests/Visual/Menus/TestSceneToolbar.cs
@@ -23,7 +23,7 @@ namespace osu.Game.Tests.Visual.Menus
public TestSceneToolbar()
{
- var toolbar = new Toolbar { State = Visibility.Visible };
+ var toolbar = new Toolbar { State = { Value = Visibility.Visible } };
ToolbarNotificationButton notificationButton = null;
AddStep("create toolbar", () =>
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMatchSettingsOverlay.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMatchSettingsOverlay.cs
index 8091e93471..8d842fc865 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMatchSettingsOverlay.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMatchSettingsOverlay.cs
@@ -36,7 +36,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
settings = new TestRoomSettings
{
RelativeSizeAxes = Axes.Both,
- State = Visibility.Visible
+ State = { Value = Visibility.Visible }
};
Child = settings;
diff --git a/osu.Game.Tests/Visual/Online/TestSceneAccountCreationOverlay.cs b/osu.Game.Tests/Visual/Online/TestSceneAccountCreationOverlay.cs
index a7e725ec3f..35449f5687 100644
--- a/osu.Game.Tests/Visual/Online/TestSceneAccountCreationOverlay.cs
+++ b/osu.Game.Tests/Visual/Online/TestSceneAccountCreationOverlay.cs
@@ -49,7 +49,7 @@ namespace osu.Game.Tests.Visual.Online
api.Logout();
api.LocalUser.BindValueChanged(user => { userPanelArea.Child = new UserPanel(user.NewValue) { Width = 200 }; }, true);
- AddStep("show", () => accountCreation.State = Visibility.Visible);
+ AddStep("show", () => accountCreation.Show());
AddStep("logout", () => api.Logout());
}
}
diff --git a/osu.Game.Tests/Visual/Online/TestSceneChatDisplay.cs b/osu.Game.Tests/Visual/Online/TestSceneChatDisplay.cs
index 634176e65f..2789feef3d 100644
--- a/osu.Game.Tests/Visual/Online/TestSceneChatDisplay.cs
+++ b/osu.Game.Tests/Visual/Online/TestSceneChatDisplay.cs
@@ -38,7 +38,7 @@ namespace osu.Game.Tests.Visual.Online
Children = new Drawable[]
{
channelManager,
- new ChatOverlay { State = Visibility.Visible }
+ new ChatOverlay { State = { Value = Visibility.Visible } }
};
}
}
diff --git a/osu.Game.Tests/Visual/Settings/TestSceneSettings.cs b/osu.Game.Tests/Visual/Settings/TestSceneSettings.cs
index 964754f8d0..f97ce8c69e 100644
--- a/osu.Game.Tests/Visual/Settings/TestSceneSettings.cs
+++ b/osu.Game.Tests/Visual/Settings/TestSceneSettings.cs
@@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Settings
{
settings = new SettingsOverlay
{
- State = Visibility.Visible
+ State = { Value = Visibility.Visible }
};
Add(dialogOverlay = new DialogOverlay
{
diff --git a/osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapInfoWedge.cs b/osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapInfoWedge.cs
index 9969795ecf..932e114580 100644
--- a/osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapInfoWedge.cs
+++ b/osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapInfoWedge.cs
@@ -1,4 +1,4 @@
-// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System.Collections.Generic;
@@ -7,7 +7,6 @@ using JetBrains.Annotations;
using NUnit.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
-using osu.Framework.Graphics.Containers;
using osu.Game.Beatmaps;
using osu.Game.Graphics.Sprites;
using osu.Game.Rulesets;
@@ -48,7 +47,7 @@ namespace osu.Game.Tests.Visual.SongSelect
AddStep("show", () =>
{
- infoWedge.State = Visibility.Visible;
+ infoWedge.Show();
infoWedge.Beatmap = Beatmap.Value;
});
@@ -57,11 +56,11 @@ namespace osu.Game.Tests.Visual.SongSelect
AddWaitStep("wait for select", 3);
- AddStep("hide", () => { infoWedge.State = Visibility.Hidden; });
+ AddStep("hide", () => { infoWedge.Hide(); });
AddWaitStep("wait for hide", 3);
- AddStep("show", () => { infoWedge.State = Visibility.Visible; });
+ AddStep("show", () => { infoWedge.Show(); });
foreach (var rulesetInfo in rulesets.AvailableRulesets)
{
diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneCursors.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneCursors.cs
index f59cb75a46..23d9112b25 100644
--- a/osu.Game.Tests/Visual/UserInterface/TestSceneCursors.cs
+++ b/osu.Game.Tests/Visual/UserInterface/TestSceneCursors.cs
@@ -176,7 +176,7 @@ namespace osu.Game.Tests.Visual.UserInterface
/// Checks if a cursor is visible.
///
/// The cursor to check.
- private bool checkVisible(CursorContainer cursorContainer) => cursorContainer.State == Visibility.Visible;
+ private bool checkVisible(CursorContainer cursorContainer) => cursorContainer.State.Value == Visibility.Visible;
///
/// Checks if a cursor is at the current inputmanager screen position.
@@ -218,7 +218,7 @@ namespace osu.Game.Tests.Visual.UserInterface
},
Cursor = new TestCursorContainer
{
- State = providesUserCursor ? Visibility.Hidden : Visibility.Visible,
+ State = { Value = providesUserCursor ? Visibility.Hidden : Visibility.Visible },
}
};
}
diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneMusicController.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneMusicController.cs
index a62fd6467b..2f2a40925f 100644
--- a/osu.Game.Tests/Visual/UserInterface/TestSceneMusicController.cs
+++ b/osu.Game.Tests/Visual/UserInterface/TestSceneMusicController.cs
@@ -23,8 +23,8 @@ namespace osu.Game.Tests.Visual.UserInterface
};
Add(mc);
- AddToggleStep(@"toggle visibility", state => mc.State = state ? Visibility.Visible : Visibility.Hidden);
- AddStep(@"show", () => mc.State = Visibility.Visible);
+ AddToggleStep(@"toggle visibility", state => mc.State.Value = state ? Visibility.Visible : Visibility.Hidden);
+ AddStep(@"show", () => mc.Show());
AddToggleStep(@"toggle beatmap lock", state => Beatmap.Disabled = state);
}
}
diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneNotificationOverlay.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneNotificationOverlay.cs
index 71033fcd2f..6b7427cef5 100644
--- a/osu.Game.Tests/Visual/UserInterface/TestSceneNotificationOverlay.cs
+++ b/osu.Game.Tests/Visual/UserInterface/TestSceneNotificationOverlay.cs
@@ -45,7 +45,7 @@ namespace osu.Game.Tests.Visual.UserInterface
Content.Add(displayedCount);
- void setState(Visibility state) => AddStep(state.ToString(), () => manager.State = state);
+ void setState(Visibility state) => AddStep(state.ToString(), () => manager.State.Value = state);
void checkProgressingCount(int expected) => AddAssert($"progressing count is {expected}", () => progressingNotifications.Count == expected);
manager.UnreadCount.ValueChanged += count => { displayedCount.Text = $"displayed count: {count.NewValue}"; };
diff --git a/osu.Game.Tests/Visual/UserInterface/TestScenePopupDialog.cs b/osu.Game.Tests/Visual/UserInterface/TestScenePopupDialog.cs
index 24140125e0..9ddd8f4038 100644
--- a/osu.Game.Tests/Visual/UserInterface/TestScenePopupDialog.cs
+++ b/osu.Game.Tests/Visual/UserInterface/TestScenePopupDialog.cs
@@ -16,7 +16,7 @@ namespace osu.Game.Tests.Visual.UserInterface
var popup = new PopupDialog
{
RelativeSizeAxes = Axes.Both,
- State = Framework.Graphics.Containers.Visibility.Visible,
+ State = { Value = Framework.Graphics.Containers.Visibility.Visible },
Icon = FontAwesome.Solid.AssistiveListeningSystems,
HeaderText = @"This is a test popup",
BodyText = "I can say lots of stuff and even wrap my words!",
diff --git a/osu.Game/Graphics/Containers/OsuFocusedOverlayContainer.cs b/osu.Game/Graphics/Containers/OsuFocusedOverlayContainer.cs
index 8b34459710..f6db3102f2 100644
--- a/osu.Game/Graphics/Containers/OsuFocusedOverlayContainer.cs
+++ b/osu.Game/Graphics/Containers/OsuFocusedOverlayContainer.cs
@@ -54,7 +54,7 @@ namespace osu.Game.Graphics.Containers
samplePopIn = audio.Samples.Get(@"UI/overlay-pop-in");
samplePopOut = audio.Samples.Get(@"UI/overlay-pop-out");
- StateChanged += onStateChanged;
+ State.ValueChanged += onStateChanged;
}
///
@@ -70,7 +70,7 @@ namespace osu.Game.Graphics.Containers
{
if (!base.ReceivePositionalInputAt(e.ScreenSpaceMousePosition))
{
- State = Visibility.Hidden;
+ Hide();
return true;
}
@@ -82,7 +82,7 @@ namespace osu.Game.Graphics.Containers
switch (action)
{
case GlobalAction.Back:
- State = Visibility.Hidden;
+ Hide();
return true;
case GlobalAction.Select:
@@ -94,9 +94,9 @@ namespace osu.Game.Graphics.Containers
public bool OnReleased(GlobalAction action) => false;
- private void onStateChanged(Visibility visibility)
+ private void onStateChanged(ValueChangedEvent state)
{
- switch (visibility)
+ switch (state.NewValue)
{
case Visibility.Visible:
if (OverlayActivationMode.Value != OverlayActivation.Disabled)
@@ -105,7 +105,7 @@ namespace osu.Game.Graphics.Containers
if (BlockScreenWideMouse && DimMainContent) osuGame?.AddBlockingOverlay(this);
}
else
- State = Visibility.Hidden;
+ Hide();
break;
diff --git a/osu.Game/Graphics/Containers/WaveContainer.cs b/osu.Game/Graphics/Containers/WaveContainer.cs
index 464682a0ad..f87909ab17 100644
--- a/osu.Game/Graphics/Containers/WaveContainer.cs
+++ b/osu.Game/Graphics/Containers/WaveContainer.cs
@@ -103,7 +103,7 @@ namespace osu.Game.Graphics.Containers
protected override void PopIn()
{
foreach (var w in wavesContainer.Children)
- w.State = Visibility.Visible;
+ w.Show();
this.FadeIn(100, Easing.OutQuint);
contentContainer.MoveToY(0, APPEAR_DURATION, Easing.OutQuint);
@@ -117,7 +117,7 @@ namespace osu.Game.Graphics.Containers
contentContainer.MoveToY(DrawHeight * 2f, DISAPPEAR_DURATION, Easing.In);
foreach (var w in wavesContainer.Children)
- w.State = Visibility.Hidden;
+ w.Hide();
this.FadeOut(DISAPPEAR_DURATION, Easing.InQuint);
}
diff --git a/osu.Game/Graphics/Cursor/MenuCursorContainer.cs b/osu.Game/Graphics/Cursor/MenuCursorContainer.cs
index 92e5ba6195..b7ea1ba56a 100644
--- a/osu.Game/Graphics/Cursor/MenuCursorContainer.cs
+++ b/osu.Game/Graphics/Cursor/MenuCursorContainer.cs
@@ -29,7 +29,7 @@ namespace osu.Game.Graphics.Cursor
{
AddRangeInternal(new Drawable[]
{
- Cursor = new MenuCursor { State = Visibility.Hidden },
+ Cursor = new MenuCursor { State = { Value = Visibility.Hidden } },
content = new Container { RelativeSizeAxes = Axes.Both }
});
}
diff --git a/osu.Game/Graphics/UserInterface/BreadcrumbControl.cs b/osu.Game/Graphics/UserInterface/BreadcrumbControl.cs
index f5e57e5f27..d1e55fee24 100644
--- a/osu.Game/Graphics/UserInterface/BreadcrumbControl.cs
+++ b/osu.Game/Graphics/UserInterface/BreadcrumbControl.cs
@@ -82,6 +82,10 @@ namespace osu.Game.Graphics.UserInterface
}
}
+ public override void Hide() => State = Visibility.Hidden;
+
+ public override void Show() => State = Visibility.Visible;
+
public BreadcrumbTabItem(T value)
: base(value)
{
diff --git a/osu.Game/Graphics/UserInterface/ProcessingOverlay.cs b/osu.Game/Graphics/UserInterface/ProcessingOverlay.cs
index 8b50f4a97a..d75e78e2d9 100644
--- a/osu.Game/Graphics/UserInterface/ProcessingOverlay.cs
+++ b/osu.Game/Graphics/UserInterface/ProcessingOverlay.cs
@@ -34,7 +34,7 @@ namespace osu.Game.Graphics.UserInterface
RelativeSizeAxes = Axes.Both,
Alpha = 0.9f,
},
- new LoadingAnimation { State = Visibility.Visible }
+ new LoadingAnimation { State = { Value = Visibility.Visible } }
};
}
diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs
index ba9abcdefc..d5fbcdfee3 100644
--- a/osu.Game/OsuGame.cs
+++ b/osu.Game/OsuGame.cs
@@ -132,12 +132,12 @@ namespace osu.Game
public void CloseAllOverlays(bool hideToolbarElements = true)
{
foreach (var overlay in overlays)
- overlay.State = Visibility.Hidden;
+ overlay.Hide();
if (hideToolbarElements)
{
foreach (var overlay in toolbarElements)
- overlay.State = Visibility.Hidden;
+ overlay.Hide();
}
}
@@ -461,7 +461,7 @@ namespace osu.Game
loadComponentSingleFile(new DialogOverlay(), topMostOverlayContent.Add, true);
loadComponentSingleFile(externalLinkOpener = new ExternalLinkOpener(), topMostOverlayContent.Add);
- chatOverlay.StateChanged += state => channelManager.HighPollRate.Value = state == Visibility.Visible;
+ chatOverlay.State.ValueChanged += state => channelManager.HighPollRate.Value = state.NewValue == Visibility.Visible;
Add(externalLinkOpener = new ExternalLinkOpener());
@@ -470,9 +470,9 @@ namespace osu.Game
foreach (var overlay in singleDisplaySideOverlays)
{
- overlay.StateChanged += state =>
+ overlay.State.ValueChanged += state =>
{
- if (state == Visibility.Hidden) return;
+ if (state.NewValue == Visibility.Hidden) return;
singleDisplaySideOverlays.Where(o => o != overlay).ForEach(o => o.Hide());
};
@@ -484,9 +484,9 @@ namespace osu.Game
foreach (var overlay in informationalOverlays)
{
- overlay.StateChanged += state =>
+ overlay.State.ValueChanged += state =>
{
- if (state == Visibility.Hidden) return;
+ if (state.NewValue == Visibility.Hidden) return;
informationalOverlays.Where(o => o != overlay).ForEach(o => o.Hide());
};
@@ -498,12 +498,12 @@ namespace osu.Game
foreach (var overlay in singleDisplayOverlays)
{
- overlay.StateChanged += state =>
+ overlay.State.ValueChanged += state =>
{
// informational overlays should be dismissed on a show or hide of a full overlay.
informationalOverlays.ForEach(o => o.Hide());
- if (state == Visibility.Hidden) return;
+ if (state.NewValue == Visibility.Hidden) return;
singleDisplayOverlays.Where(o => o != overlay).ForEach(o => o.Hide());
};
@@ -518,16 +518,16 @@ namespace osu.Game
{
float offset = 0;
- if (settings.State == Visibility.Visible)
+ if (settings.State.Value == Visibility.Visible)
offset += ToolbarButton.WIDTH / 2;
- if (notifications.State == Visibility.Visible)
+ if (notifications.State.Value == Visibility.Visible)
offset -= ToolbarButton.WIDTH / 2;
screenContainer.MoveToX(offset, SettingsPanel.TRANSITION_LENGTH, Easing.OutQuint);
}
- settings.StateChanged += _ => updateScreenOffset();
- notifications.StateChanged += _ => updateScreenOffset();
+ settings.State.ValueChanged += _ => updateScreenOffset();
+ notifications.State.ValueChanged += _ => updateScreenOffset();
}
public class GameIdleTracker : IdleTracker
@@ -768,7 +768,7 @@ namespace osu.Game
if (newOsuScreen.HideOverlaysOnEnter)
CloseAllOverlays();
else
- Toolbar.State = Visibility.Visible;
+ Toolbar.Show();
}
}
diff --git a/osu.Game/Overlays/AccountCreationOverlay.cs b/osu.Game/Overlays/AccountCreationOverlay.cs
index 52d2917677..89d8cbde11 100644
--- a/osu.Game/Overlays/AccountCreationOverlay.cs
+++ b/osu.Game/Overlays/AccountCreationOverlay.cs
@@ -109,7 +109,7 @@ namespace osu.Game.Overlays
break;
case APIState.Online:
- State = Visibility.Hidden;
+ Hide();
break;
}
}
diff --git a/osu.Game/Overlays/BeatmapSetOverlay.cs b/osu.Game/Overlays/BeatmapSetOverlay.cs
index 3ed398d31a..e0852a890c 100644
--- a/osu.Game/Overlays/BeatmapSetOverlay.cs
+++ b/osu.Game/Overlays/BeatmapSetOverlay.cs
@@ -92,7 +92,7 @@ namespace osu.Game.Overlays
protected override bool OnClick(ClickEvent e)
{
- State = Visibility.Hidden;
+ Hide();
return true;
}
diff --git a/osu.Game/Overlays/ChangelogOverlay.cs b/osu.Game/Overlays/ChangelogOverlay.cs
index 4a6d53b480..67f195580e 100644
--- a/osu.Game/Overlays/ChangelogOverlay.cs
+++ b/osu.Game/Overlays/ChangelogOverlay.cs
@@ -92,7 +92,7 @@ namespace osu.Game.Overlays
public void ShowListing()
{
Current.Value = null;
- State = Visibility.Visible;
+ Show();
}
///
@@ -106,7 +106,7 @@ namespace osu.Game.Overlays
if (build == null) throw new ArgumentNullException(nameof(build));
Current.Value = build;
- State = Visibility.Visible;
+ Show();
}
public void ShowBuild([NotNull] string updateStream, [NotNull] string version)
@@ -123,7 +123,7 @@ namespace osu.Game.Overlays
ShowBuild(build);
});
- State = Visibility.Visible;
+ Show();
}
public override bool OnPressed(GlobalAction action)
@@ -133,7 +133,7 @@ namespace osu.Game.Overlays
case GlobalAction.Back:
if (Current.Value == null)
{
- State = Visibility.Hidden;
+ Hide();
}
else
{
diff --git a/osu.Game/Overlays/ChatOverlay.cs b/osu.Game/Overlays/ChatOverlay.cs
index 978848d9fc..dd48a5d29e 100644
--- a/osu.Game/Overlays/ChatOverlay.cs
+++ b/osu.Game/Overlays/ChatOverlay.cs
@@ -56,7 +56,7 @@ namespace osu.Game.Overlays
private readonly Container channelSelectionContainer;
private readonly ChannelSelectionOverlay channelSelectionOverlay;
- public override bool Contains(Vector2 screenSpacePos) => chatContainer.ReceivePositionalInputAt(screenSpacePos) || (channelSelectionOverlay.State == Visibility.Visible && channelSelectionOverlay.ReceivePositionalInputAt(screenSpacePos));
+ public override bool Contains(Vector2 screenSpacePos) => chatContainer.ReceivePositionalInputAt(screenSpacePos) || (channelSelectionOverlay.State.Value == Visibility.Visible && channelSelectionOverlay.ReceivePositionalInputAt(screenSpacePos));
public ChatOverlay()
{
@@ -130,7 +130,7 @@ namespace osu.Game.Overlays
RelativeSizeAxes = Axes.Both,
Height = 1,
PlaceholderText = "type your message",
- Exit = () => State = Visibility.Hidden,
+ Exit = Hide,
OnCommit = postMessage,
ReleaseFocusOnCommit = false,
HoldFocus = true,
@@ -163,19 +163,19 @@ namespace osu.Game.Overlays
};
channelTabControl.Current.ValueChanged += current => channelManager.CurrentChannel.Value = current.NewValue;
- channelTabControl.ChannelSelectorActive.ValueChanged += active => channelSelectionOverlay.State = active.NewValue ? Visibility.Visible : Visibility.Hidden;
- channelSelectionOverlay.StateChanged += state =>
+ channelTabControl.ChannelSelectorActive.ValueChanged += active => channelSelectionOverlay.State.Value = active.NewValue ? Visibility.Visible : Visibility.Hidden;
+ channelSelectionOverlay.State.ValueChanged += state =>
{
- if (state == Visibility.Hidden && channelManager.CurrentChannel.Value == null)
+ if (state.NewValue == Visibility.Hidden && channelManager.CurrentChannel.Value == null)
{
- channelSelectionOverlay.State = Visibility.Visible;
- State = Visibility.Hidden;
+ channelSelectionOverlay.Show();
+ Hide();
return;
}
- channelTabControl.ChannelSelectorActive.Value = state == Visibility.Visible;
+ channelTabControl.ChannelSelectorActive.Value = state.NewValue == Visibility.Visible;
- if (state == Visibility.Visible)
+ if (state.NewValue == Visibility.Visible)
{
textbox.HoldFocus = false;
if (1f - ChatHeight.Value < channel_selection_min_height)
@@ -195,7 +195,7 @@ namespace osu.Game.Overlays
{
textbox.Current.Disabled = true;
currentChannelContainer.Clear(false);
- channelSelectionOverlay.State = Visibility.Visible;
+ channelSelectionOverlay.Show();
return;
}
@@ -253,7 +253,7 @@ namespace osu.Game.Overlays
double targetChatHeight = startDragChatHeight - (e.MousePosition.Y - e.MouseDownPosition.Y) / Parent.DrawSize.Y;
// If the channel selection screen is shown, mind its minimum height
- if (channelSelectionOverlay.State == Visibility.Visible && targetChatHeight > 1f - channel_selection_min_height)
+ if (channelSelectionOverlay.State.Value == Visibility.Visible && targetChatHeight > 1f - channel_selection_min_height)
targetChatHeight = 1f - channel_selection_min_height;
ChatHeight.Value = targetChatHeight;
@@ -325,7 +325,7 @@ namespace osu.Game.Overlays
this.MoveToY(Height, transition_length, Easing.InSine);
this.FadeOut(transition_length, Easing.InSine);
- channelSelectionOverlay.State = Visibility.Hidden;
+ channelSelectionOverlay.Hide();
textbox.HoldFocus = false;
base.PopOut();
diff --git a/osu.Game/Overlays/DialogOverlay.cs b/osu.Game/Overlays/DialogOverlay.cs
index 2cc1c20a10..aaae7bcf5c 100644
--- a/osu.Game/Overlays/DialogOverlay.cs
+++ b/osu.Game/Overlays/DialogOverlay.cs
@@ -37,8 +37,8 @@ namespace osu.Game.Overlays
dialogContainer.Add(currentDialog);
currentDialog.Show();
- currentDialog.StateChanged += state => onDialogOnStateChanged(dialog, state);
- State = Visibility.Visible;
+ currentDialog.State.ValueChanged += state => onDialogOnStateChanged(dialog, state.NewValue);
+ Show();
}
protected override bool PlaySamplesOnStateChange => false;
@@ -53,7 +53,7 @@ namespace osu.Game.Overlays
dialog.Delay(PopupDialog.EXIT_DURATION).Expire();
if (dialog == currentDialog)
- State = Visibility.Hidden;
+ Hide();
}
protected override void PopIn()
@@ -66,7 +66,7 @@ namespace osu.Game.Overlays
{
base.PopOut();
- if (currentDialog?.State == Visibility.Visible)
+ if (currentDialog?.State.Value == Visibility.Visible)
{
currentDialog.Hide();
return;
diff --git a/osu.Game/Overlays/DirectOverlay.cs b/osu.Game/Overlays/DirectOverlay.cs
index 975bf4e3ca..7dcf76e41f 100644
--- a/osu.Game/Overlays/DirectOverlay.cs
+++ b/osu.Game/Overlays/DirectOverlay.cs
@@ -252,7 +252,7 @@ namespace osu.Game.Overlays
if (!IsLoaded)
return;
- if (State == Visibility.Hidden)
+ if (State.Value == Visibility.Hidden)
return;
if (API == null)
diff --git a/osu.Game/Overlays/Mods/ModSelectOverlay.cs b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
index dec58f4c9e..8e5c9588ce 100644
--- a/osu.Game/Overlays/Mods/ModSelectOverlay.cs
+++ b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
@@ -413,12 +413,12 @@ namespace osu.Game.Overlays.Mods
{
if (selectedMod != null)
{
- if (State == Visibility.Visible) sampleOn?.Play();
+ if (State.Value == Visibility.Visible) sampleOn?.Play();
DeselectTypes(selectedMod.IncompatibleMods, true);
}
else
{
- if (State == Visibility.Visible) sampleOff?.Play();
+ if (State.Value == Visibility.Visible) sampleOff?.Play();
}
refreshSelectedMods();
diff --git a/osu.Game/Overlays/Music/PlaylistOverlay.cs b/osu.Game/Overlays/Music/PlaylistOverlay.cs
index 4431288a1a..ec3d708645 100644
--- a/osu.Game/Overlays/Music/PlaylistOverlay.cs
+++ b/osu.Game/Overlays/Music/PlaylistOverlay.cs
@@ -71,7 +71,7 @@ namespace osu.Game.Overlays.Music
{
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
- ExitRequested = () => State = Visibility.Hidden,
+ ExitRequested = Hide,
FilterChanged = search => list.Filter(search),
Padding = new MarginPadding(10),
},
diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs
index d7b915efe3..85524e992c 100644
--- a/osu.Game/Overlays/MusicController.cs
+++ b/osu.Game/Overlays/MusicController.cs
@@ -200,7 +200,7 @@ namespace osu.Game.Overlays
beatmaps.ItemAdded += handleBeatmapAdded;
beatmaps.ItemRemoved += handleBeatmapRemoved;
- playlist.StateChanged += s => playlistButton.FadeColour(s == Visibility.Visible ? colours.Yellow : Color4.White, 200, Easing.OutQuint);
+ playlist.State.ValueChanged += s => playlistButton.FadeColour(s.NewValue == Visibility.Visible ? colours.Yellow : Color4.White, 200, Easing.OutQuint);
}
private ScheduledDelegate seekDelegate;
@@ -449,7 +449,7 @@ namespace osu.Game.Overlays
// This is here mostly as a performance fix.
// If the playlist is not hidden it will update children even when the music controller is hidden (due to AlwaysPresent).
- playlist.State = Visibility.Hidden;
+ playlist.Hide();
this.FadeOut(transition_length, Easing.OutQuint);
dragContainer.ScaleTo(0.9f, transition_length, Easing.OutQuint);
diff --git a/osu.Game/Overlays/NotificationOverlay.cs b/osu.Game/Overlays/NotificationOverlay.cs
index 8f75d3ebf0..2e4c504645 100644
--- a/osu.Game/Overlays/NotificationOverlay.cs
+++ b/osu.Game/Overlays/NotificationOverlay.cs
@@ -81,13 +81,13 @@ namespace osu.Game.Overlays
private void updateProcessingMode()
{
- bool enabled = OverlayActivationMode.Value == OverlayActivation.All || State == Visibility.Visible;
+ bool enabled = OverlayActivationMode.Value == OverlayActivation.All || State.Value == Visibility.Visible;
notificationsEnabler?.Cancel();
if (enabled)
// we want a slight delay before toggling notifications on to avoid the user becoming overwhelmed.
- notificationsEnabler = Scheduler.AddDelayed(() => processingPosts = true, State == Visibility.Visible ? 0 : 1000);
+ notificationsEnabler = Scheduler.AddDelayed(() => processingPosts = true, State.Value == Visibility.Visible ? 0 : 1000);
else
processingPosts = false;
}
@@ -96,7 +96,7 @@ namespace osu.Game.Overlays
{
base.LoadComplete();
- StateChanged += _ => updateProcessingMode();
+ State.ValueChanged += _ => updateProcessingMode();
OverlayActivationMode.BindValueChanged(_ => updateProcessingMode(), true);
}
@@ -128,7 +128,7 @@ namespace osu.Game.Overlays
section?.Add(notification, notification.DisplayOnTop ? -runningDepth : runningDepth);
if (notification.IsImportant)
- State = Visibility.Visible;
+ Show();
updateCounts();
});
diff --git a/osu.Game/Overlays/Settings/Sections/General/LoginSettings.cs b/osu.Game/Overlays/Settings/Sections/General/LoginSettings.cs
index 2f56ace24d..36d6a22165 100644
--- a/osu.Game/Overlays/Settings/Sections/General/LoginSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/General/LoginSettings.cs
@@ -97,7 +97,7 @@ namespace osu.Game.Overlays.Settings.Sections.General
{
new LoadingAnimation
{
- State = Visibility.Visible,
+ State = { Value = Visibility.Visible },
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
},
diff --git a/osu.Game/Overlays/SettingsOverlay.cs b/osu.Game/Overlays/SettingsOverlay.cs
index 6e3eaae0a1..bb84de5d3a 100644
--- a/osu.Game/Overlays/SettingsOverlay.cs
+++ b/osu.Game/Overlays/SettingsOverlay.cs
@@ -9,6 +9,7 @@ using osu.Game.Overlays.Settings.Sections;
using osuTK.Graphics;
using System.Collections.Generic;
using System.Linq;
+using osu.Framework.Bindables;
namespace osu.Game.Overlays
{
@@ -37,23 +38,23 @@ namespace osu.Game.Overlays
{
}
- public override bool AcceptsFocus => subPanels.All(s => s.State != Visibility.Visible);
+ public override bool AcceptsFocus => subPanels.All(s => s.State.Value != Visibility.Visible);
private T createSubPanel(T subPanel)
where T : SettingsSubPanel
{
subPanel.Depth = 1;
subPanel.Anchor = Anchor.TopRight;
- subPanel.StateChanged += subPanelStateChanged;
+ subPanel.State.ValueChanged += subPanelStateChanged;
subPanels.Add(subPanel);
return subPanel;
}
- private void subPanelStateChanged(Visibility visibility)
+ private void subPanelStateChanged(ValueChangedEvent state)
{
- switch (visibility)
+ switch (state.NewValue)
{
case Visibility.Visible:
Background.FadeTo(0.9f, 300, Easing.OutQuint);
@@ -73,7 +74,7 @@ namespace osu.Game.Overlays
}
}
- protected override float ExpandedPosition => subPanels.Any(s => s.State == Visibility.Visible) ? -WIDTH : base.ExpandedPosition;
+ protected override float ExpandedPosition => subPanels.Any(s => s.State.Value == Visibility.Visible) ? -WIDTH : base.ExpandedPosition;
[BackgroundDependencyLoader]
private void load()
diff --git a/osu.Game/Overlays/Toolbar/Toolbar.cs b/osu.Game/Overlays/Toolbar/Toolbar.cs
index 3c8b96fe8a..982fb26b6b 100644
--- a/osu.Game/Overlays/Toolbar/Toolbar.cs
+++ b/osu.Game/Overlays/Toolbar/Toolbar.cs
@@ -84,10 +84,10 @@ namespace osu.Game.Overlays.Toolbar
}
};
- StateChanged += visibility =>
+ State.ValueChanged += visibility =>
{
if (overlayActivationMode.Value == OverlayActivation.Disabled)
- State = Visibility.Hidden;
+ Hide();
};
if (osuGame != null)
diff --git a/osu.Game/Overlays/Toolbar/ToolbarOverlayToggleButton.cs b/osu.Game/Overlays/Toolbar/ToolbarOverlayToggleButton.cs
index b2ae273e31..b286cbfb1d 100644
--- a/osu.Game/Overlays/Toolbar/ToolbarOverlayToggleButton.cs
+++ b/osu.Game/Overlays/Toolbar/ToolbarOverlayToggleButton.cs
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
+using osu.Framework.Bindables;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
@@ -15,6 +16,8 @@ namespace osu.Game.Overlays.Toolbar
private OverlayContainer stateContainer;
+ private readonly Bindable overlayState = new Bindable();
+
public OverlayContainer StateContainer
{
get => stateContainer;
@@ -22,10 +25,12 @@ namespace osu.Game.Overlays.Toolbar
{
stateContainer = value;
+ overlayState.UnbindBindings();
+
if (stateContainer != null)
{
Action = stateContainer.ToggleVisibility;
- stateContainer.StateChanged += stateChanged;
+ overlayState.BindTo(stateContainer.State);
}
}
}
@@ -40,18 +45,13 @@ namespace osu.Game.Overlays.Toolbar
Depth = 2,
Alpha = 0,
});
+
+ overlayState.ValueChanged += stateChanged;
}
- protected override void Dispose(bool isDisposing)
+ private void stateChanged(ValueChangedEvent state)
{
- base.Dispose(isDisposing);
- if (stateContainer != null)
- stateContainer.StateChanged -= stateChanged;
- }
-
- private void stateChanged(Visibility state)
- {
- switch (state)
+ switch (state.NewValue)
{
case Visibility.Hidden:
stateBackground.FadeOut(200);
diff --git a/osu.Game/Overlays/VolumeOverlay.cs b/osu.Game/Overlays/VolumeOverlay.cs
index 34b15d958d..02e0f59f26 100644
--- a/osu.Game/Overlays/VolumeOverlay.cs
+++ b/osu.Game/Overlays/VolumeOverlay.cs
@@ -100,14 +100,14 @@ namespace osu.Game.Overlays
switch (action)
{
case GlobalAction.DecreaseVolume:
- if (State == Visibility.Hidden)
+ if (State.Value == Visibility.Hidden)
Show();
else
volumeMeterMaster.Decrease(amount, isPrecise);
return true;
case GlobalAction.IncreaseVolume:
- if (State == Visibility.Hidden)
+ if (State.Value == Visibility.Hidden)
Show();
else
volumeMeterMaster.Increase(amount, isPrecise);
@@ -126,7 +126,7 @@ namespace osu.Game.Overlays
public override void Show()
{
- if (State == Visibility.Visible)
+ if (State.Value == Visibility.Visible)
schedulePopOut();
base.Show();
diff --git a/osu.Game/Rulesets/UI/GameplayCursorContainer.cs b/osu.Game/Rulesets/UI/GameplayCursorContainer.cs
index 41edfa0b68..ae5f9c6111 100644
--- a/osu.Game/Rulesets/UI/GameplayCursorContainer.cs
+++ b/osu.Game/Rulesets/UI/GameplayCursorContainer.cs
@@ -19,7 +19,7 @@ namespace osu.Game.Rulesets.UI
protected override void Update()
{
base.Update();
- LastFrameState = State;
+ LastFrameState = State.Value;
}
}
}
diff --git a/osu.Game/Screens/Menu/ButtonArea.cs b/osu.Game/Screens/Menu/ButtonArea.cs
index c7650a08fa..d59996a4eb 100644
--- a/osu.Game/Screens/Menu/ButtonArea.cs
+++ b/osu.Game/Screens/Menu/ButtonArea.cs
@@ -56,12 +56,12 @@ namespace osu.Game.Screens.Menu
case ButtonSystemState.Exit:
case ButtonSystemState.Initial:
case ButtonSystemState.EnteringMode:
- State = Visibility.Hidden;
+ Hide();
break;
case ButtonSystemState.TopLevel:
case ButtonSystemState.Play:
- State = Visibility.Visible;
+ Show();
break;
}
@@ -82,6 +82,10 @@ namespace osu.Game.Screens.Menu
}
}
+ public override void Hide() => State = Visibility.Hidden;
+
+ public override void Show() => State = Visibility.Visible;
+
public event Action StateChanged;
private class ButtonAreaBackground : Box, IStateful
diff --git a/osu.Game/Screens/Play/GameplayMenuOverlay.cs b/osu.Game/Screens/Play/GameplayMenuOverlay.cs
index 456fb4faf9..c7e762714c 100644
--- a/osu.Game/Screens/Play/GameplayMenuOverlay.cs
+++ b/osu.Game/Screens/Play/GameplayMenuOverlay.cs
@@ -59,7 +59,7 @@ namespace osu.Game.Screens.Play
{
RelativeSizeAxes = Axes.Both;
- StateChanged += s => selectionIndex = -1;
+ State.ValueChanged += s => selectionIndex = -1;
}
[BackgroundDependencyLoader]
diff --git a/osu.Game/Screens/Play/HUD/PlayerSettingsOverlay.cs b/osu.Game/Screens/Play/HUD/PlayerSettingsOverlay.cs
index e99f6d836e..b2c3952f38 100644
--- a/osu.Game/Screens/Play/HUD/PlayerSettingsOverlay.cs
+++ b/osu.Game/Screens/Play/HUD/PlayerSettingsOverlay.cs
@@ -46,7 +46,7 @@ namespace osu.Game.Screens.Play.HUD
}
};
- State = Visibility.Visible;
+ Show();
}
protected override void PopIn() => this.FadeIn(fade_duration);
diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs
index d8389fa6d9..35ef7b3200 100644
--- a/osu.Game/Screens/Play/Player.cs
+++ b/osu.Game/Screens/Play/Player.cs
@@ -358,7 +358,7 @@ namespace osu.Game.Screens.Play
// There is a chance that we could be in a paused state as the ruleset's internal clock (see FrameStabilityContainer)
// could process an extra frame after the GameplayClock is stopped.
// In such cases we want the fail state to precede a user triggered pause.
- if (PauseOverlay.State == Visibility.Visible)
+ if (PauseOverlay.State.Value == Visibility.Visible)
PauseOverlay.Hide();
failAnimation.Start();
diff --git a/osu.Game/Screens/Play/SkipOverlay.cs b/osu.Game/Screens/Play/SkipOverlay.cs
index 4ecc15f22b..38dd179f25 100644
--- a/osu.Game/Screens/Play/SkipOverlay.cs
+++ b/osu.Game/Screens/Play/SkipOverlay.cs
@@ -46,7 +46,7 @@ namespace osu.Game.Screens.Play
{
this.startTime = startTime;
- State = Visibility.Visible;
+ Show();
RelativePositionAxes = Axes.Both;
RelativeSizeAxes = Axes.X;
@@ -136,7 +136,7 @@ namespace osu.Game.Screens.Play
protected override bool OnMouseMove(MouseMoveEvent e)
{
if (!e.HasAnyButtonPressed)
- fadeContainer.State = Visibility.Visible;
+ fadeContainer.Show();
return base.OnMouseMove(e);
}
@@ -181,7 +181,7 @@ namespace osu.Game.Screens.Play
if (!IsHovered && !IsDragged)
using (BeginDelayedSequence(1000))
- scheduledHide = Schedule(() => State = Visibility.Hidden);
+ scheduledHide = Schedule(Hide);
break;
case Visibility.Hidden:
@@ -196,7 +196,7 @@ namespace osu.Game.Screens.Play
protected override void LoadComplete()
{
base.LoadComplete();
- State = Visibility.Visible;
+ Show();
}
protected override bool OnMouseDown(MouseDownEvent e)
@@ -207,9 +207,13 @@ namespace osu.Game.Screens.Play
protected override bool OnMouseUp(MouseUpEvent e)
{
- State = Visibility.Visible;
+ Show();
return base.OnMouseUp(e);
}
+
+ public override void Hide() => State = Visibility.Hidden;
+
+ public override void Show() => State = Visibility.Visible;
}
private class Button : OsuClickableContainer
diff --git a/osu.Game/Screens/Play/SongProgress.cs b/osu.Game/Screens/Play/SongProgress.cs
index d478454f00..6642efdf8b 100644
--- a/osu.Game/Screens/Play/SongProgress.cs
+++ b/osu.Game/Screens/Play/SongProgress.cs
@@ -106,7 +106,7 @@ namespace osu.Game.Screens.Play
protected override void LoadComplete()
{
- State = Visibility.Visible;
+ Show();
replayLoaded.ValueChanged += loaded => AllowSeeking = loaded.NewValue;
replayLoaded.TriggerChange();
diff --git a/osu.Game/Screens/Select/BeatmapDetails.cs b/osu.Game/Screens/Select/BeatmapDetails.cs
index a78ab97960..378b1b1dc6 100644
--- a/osu.Game/Screens/Select/BeatmapDetails.cs
+++ b/osu.Game/Screens/Select/BeatmapDetails.cs
@@ -360,13 +360,13 @@ namespace osu.Game.Screens.Select
protected override void PopIn()
{
this.FadeIn(transition_duration, Easing.OutQuint);
- loading.State = Visibility.Visible;
+ loading.Show();
}
protected override void PopOut()
{
this.FadeOut(transition_duration, Easing.OutQuint);
- loading.State = Visibility.Hidden;
+ loading.Hide();
}
}
}
diff --git a/osu.Game/Screens/Select/BeatmapInfoWedge.cs b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
index 1508de2730..fa9ffd0706 100644
--- a/osu.Game/Screens/Select/BeatmapInfoWedge.cs
+++ b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
@@ -100,7 +100,7 @@ namespace osu.Game.Screens.Select
{
void removeOldInfo()
{
- State = beatmap == null ? Visibility.Hidden : Visibility.Visible;
+ State.Value = beatmap == null ? Visibility.Hidden : Visibility.Visible;
Info?.FadeOut(250);
Info?.Expire();
diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs
index 6d5be607f4..5390d24892 100644
--- a/osu.Game/Screens/Select/SongSelect.cs
+++ b/osu.Game/Screens/Select/SongSelect.cs
@@ -278,7 +278,7 @@ namespace osu.Game.Screens.Select
protected virtual void ExitFromBack()
{
- if (ModSelect.State == Visibility.Visible)
+ if (ModSelect.State.Value == Visibility.Visible)
{
ModSelect.Hide();
return;
@@ -520,7 +520,7 @@ namespace osu.Game.Screens.Select
if (base.OnExiting(next))
return true;
- beatmapInfoWedge.State = Visibility.Hidden;
+ beatmapInfoWedge.Hide();
this.FadeOut(100);