mirror of
https://github.com/ppy/osu
synced 2025-03-18 17:15:28 +00:00
Refactor out Hidden
Also fixes a bug I didn't think about before
This commit is contained in:
parent
8d294a4eca
commit
5852657205
@ -33,28 +33,16 @@ namespace osu.Game.Beatmaps.Drawables
|
||||
|
||||
public BeatmapSetInfo BeatmapSet;
|
||||
|
||||
private bool hidden;
|
||||
public bool Hidden
|
||||
{
|
||||
get { return hidden; }
|
||||
set
|
||||
{
|
||||
hidden = value;
|
||||
Header.Alpha = hidden ? 0 : 1;
|
||||
if (hidden)
|
||||
State = BeatmapGroupState.Collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
public BeatmapGroupState State
|
||||
{
|
||||
get { return state; }
|
||||
set
|
||||
{
|
||||
state = value;
|
||||
switch (state)
|
||||
switch (value)
|
||||
{
|
||||
case BeatmapGroupState.Expanded:
|
||||
if (state == BeatmapGroupState.Hidden)
|
||||
Header.Alpha = 1;
|
||||
foreach (BeatmapPanel panel in BeatmapPanels)
|
||||
panel.FadeIn(250);
|
||||
|
||||
@ -63,14 +51,20 @@ namespace osu.Game.Beatmaps.Drawables
|
||||
SelectedPanel.State = PanelSelectedState.Selected;
|
||||
break;
|
||||
case BeatmapGroupState.Collapsed:
|
||||
case BeatmapGroupState.Hidden:
|
||||
if (state == BeatmapGroupState.Hidden && state != value)
|
||||
Header.Alpha = 1;
|
||||
Header.State = PanelSelectedState.NotSelected;
|
||||
if (SelectedPanel != null)
|
||||
SelectedPanel.State = PanelSelectedState.NotSelected;
|
||||
|
||||
foreach (BeatmapPanel panel in BeatmapPanels)
|
||||
panel.FadeOut(300, EasingTypes.OutQuint);
|
||||
if (value == BeatmapGroupState.Hidden)
|
||||
Header.Alpha = 0;
|
||||
break;
|
||||
}
|
||||
state = value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,5 +121,6 @@ namespace osu.Game.Beatmaps.Drawables
|
||||
{
|
||||
Collapsed,
|
||||
Expanded,
|
||||
Hidden,
|
||||
}
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ namespace osu.Game.Screens.Select
|
||||
|
||||
foreach (BeatmapGroup group in groups)
|
||||
{
|
||||
movePanel(group.Header, !group.Hidden, ref currentY);
|
||||
movePanel(group.Header, group.State != BeatmapGroupState.Hidden, ref currentY);
|
||||
|
||||
if (group.State == BeatmapGroupState.Expanded)
|
||||
{
|
||||
@ -134,10 +134,10 @@ namespace osu.Game.Screens.Select
|
||||
panel.MoveToX(-50, 500, EasingTypes.OutExpo);
|
||||
|
||||
//on first display we want to begin hidden under our group's header.
|
||||
if (panel.Alpha == 0 && !group.Hidden)
|
||||
if (panel.Alpha == 0 && group.State != BeatmapGroupState.Hidden)
|
||||
panel.MoveToY(headerY);
|
||||
|
||||
movePanel(panel, !group.Hidden, ref currentY);
|
||||
movePanel(panel, group.State != BeatmapGroupState.Hidden, ref currentY);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -208,15 +208,15 @@ namespace osu.Game.Screens.Select
|
||||
|| (set.Metadata.TitleUnicode ?? "").IndexOf(search, StringComparison.InvariantCultureIgnoreCase) != -1;
|
||||
if (match)
|
||||
{
|
||||
changed &= !beatmapGroup.Hidden;
|
||||
beatmapGroup.Hidden = false;
|
||||
changed |= beatmapGroup.State != BeatmapGroupState.Hidden;
|
||||
beatmapGroup.State = BeatmapGroupState.Collapsed;
|
||||
if (newSelection == null || beatmapGroup.BeatmapSet.OnlineBeatmapSetID == Beatmap.BeatmapSetInfo.OnlineBeatmapSetID)
|
||||
newSelection = beatmapGroup;
|
||||
}
|
||||
else
|
||||
{
|
||||
changed &= beatmapGroup.Hidden;
|
||||
beatmapGroup.Hidden = true;
|
||||
changed |= beatmapGroup.State == BeatmapGroupState.Hidden;
|
||||
beatmapGroup.State = BeatmapGroupState.Hidden;
|
||||
}
|
||||
}
|
||||
if (newSelection != null)
|
||||
|
Loading…
Reference in New Issue
Block a user