mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 00:47:20 +08: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;
|
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
|
public BeatmapGroupState State
|
||||||
{
|
{
|
||||||
get { return state; }
|
get { return state; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
state = value;
|
switch (value)
|
||||||
switch (state)
|
|
||||||
{
|
{
|
||||||
case BeatmapGroupState.Expanded:
|
case BeatmapGroupState.Expanded:
|
||||||
|
if (state == BeatmapGroupState.Hidden)
|
||||||
|
Header.Alpha = 1;
|
||||||
foreach (BeatmapPanel panel in BeatmapPanels)
|
foreach (BeatmapPanel panel in BeatmapPanels)
|
||||||
panel.FadeIn(250);
|
panel.FadeIn(250);
|
||||||
|
|
||||||
@ -63,14 +51,20 @@ namespace osu.Game.Beatmaps.Drawables
|
|||||||
SelectedPanel.State = PanelSelectedState.Selected;
|
SelectedPanel.State = PanelSelectedState.Selected;
|
||||||
break;
|
break;
|
||||||
case BeatmapGroupState.Collapsed:
|
case BeatmapGroupState.Collapsed:
|
||||||
|
case BeatmapGroupState.Hidden:
|
||||||
|
if (state == BeatmapGroupState.Hidden && state != value)
|
||||||
|
Header.Alpha = 1;
|
||||||
Header.State = PanelSelectedState.NotSelected;
|
Header.State = PanelSelectedState.NotSelected;
|
||||||
if (SelectedPanel != null)
|
if (SelectedPanel != null)
|
||||||
SelectedPanel.State = PanelSelectedState.NotSelected;
|
SelectedPanel.State = PanelSelectedState.NotSelected;
|
||||||
|
|
||||||
foreach (BeatmapPanel panel in BeatmapPanels)
|
foreach (BeatmapPanel panel in BeatmapPanels)
|
||||||
panel.FadeOut(300, EasingTypes.OutQuint);
|
panel.FadeOut(300, EasingTypes.OutQuint);
|
||||||
|
if (value == BeatmapGroupState.Hidden)
|
||||||
|
Header.Alpha = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
state = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,5 +121,6 @@ namespace osu.Game.Beatmaps.Drawables
|
|||||||
{
|
{
|
||||||
Collapsed,
|
Collapsed,
|
||||||
Expanded,
|
Expanded,
|
||||||
|
Hidden,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
foreach (BeatmapGroup group in groups)
|
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)
|
if (group.State == BeatmapGroupState.Expanded)
|
||||||
{
|
{
|
||||||
@ -134,10 +134,10 @@ namespace osu.Game.Screens.Select
|
|||||||
panel.MoveToX(-50, 500, EasingTypes.OutExpo);
|
panel.MoveToX(-50, 500, EasingTypes.OutExpo);
|
||||||
|
|
||||||
//on first display we want to begin hidden under our group's header.
|
//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);
|
panel.MoveToY(headerY);
|
||||||
|
|
||||||
movePanel(panel, !group.Hidden, ref currentY);
|
movePanel(panel, group.State != BeatmapGroupState.Hidden, ref currentY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -208,15 +208,15 @@ namespace osu.Game.Screens.Select
|
|||||||
|| (set.Metadata.TitleUnicode ?? "").IndexOf(search, StringComparison.InvariantCultureIgnoreCase) != -1;
|
|| (set.Metadata.TitleUnicode ?? "").IndexOf(search, StringComparison.InvariantCultureIgnoreCase) != -1;
|
||||||
if (match)
|
if (match)
|
||||||
{
|
{
|
||||||
changed &= !beatmapGroup.Hidden;
|
changed |= beatmapGroup.State != BeatmapGroupState.Hidden;
|
||||||
beatmapGroup.Hidden = false;
|
beatmapGroup.State = BeatmapGroupState.Collapsed;
|
||||||
if (newSelection == null || beatmapGroup.BeatmapSet.OnlineBeatmapSetID == Beatmap.BeatmapSetInfo.OnlineBeatmapSetID)
|
if (newSelection == null || beatmapGroup.BeatmapSet.OnlineBeatmapSetID == Beatmap.BeatmapSetInfo.OnlineBeatmapSetID)
|
||||||
newSelection = beatmapGroup;
|
newSelection = beatmapGroup;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
changed &= beatmapGroup.Hidden;
|
changed |= beatmapGroup.State == BeatmapGroupState.Hidden;
|
||||||
beatmapGroup.Hidden = true;
|
beatmapGroup.State = BeatmapGroupState.Hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (newSelection != null)
|
if (newSelection != null)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user