mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 08:23:00 +08:00
Merge pull request #168 from huoyaoyuan/fixes
Fixes for music controller
This commit is contained in:
commit
1d51e6af2a
Binary file not shown.
@ -51,11 +51,15 @@ namespace osu.Game.Beatmaps.Drawable
|
||||
difficulties.Show();
|
||||
|
||||
header.State = PanelSelectedState.Selected;
|
||||
if (SelectedPanel != null)
|
||||
SelectedPanel.State = PanelSelectedState.Selected;
|
||||
break;
|
||||
case BeatmapGroupState.Collapsed:
|
||||
FadeTo(0.8f, 250);
|
||||
|
||||
header.State = PanelSelectedState.NotSelected;
|
||||
if (SelectedPanel != null)
|
||||
SelectedPanel.State = PanelSelectedState.NotSelected;
|
||||
difficulties.Hide();
|
||||
break;
|
||||
}
|
||||
|
@ -109,10 +109,7 @@ namespace osu.Game
|
||||
}
|
||||
});
|
||||
|
||||
(modeStack = new Intro
|
||||
{
|
||||
Beatmap = Beatmap
|
||||
}).Preload(this, d =>
|
||||
(modeStack = new Intro()).Preload(this, d =>
|
||||
{
|
||||
mainContent.Add(d);
|
||||
|
||||
|
@ -229,7 +229,7 @@ namespace osu.Game.Overlays
|
||||
|
||||
void preferUnicode_changed(object sender, EventArgs e)
|
||||
{
|
||||
updateDisplay(current, false);
|
||||
updateDisplay(current, TransformDirection.None);
|
||||
}
|
||||
|
||||
private void workingChanged(object sender = null, EventArgs e = null)
|
||||
@ -237,7 +237,7 @@ namespace osu.Game.Overlays
|
||||
if (beatmapSource.Value == current) return;
|
||||
bool audioEquals = current?.BeatmapInfo.AudioEquals(beatmapSource.Value.BeatmapInfo) ?? false;
|
||||
current = beatmapSource.Value;
|
||||
updateDisplay(current, audioEquals ? null : (bool?)true);
|
||||
updateDisplay(current, audioEquals ? TransformDirection.None : TransformDirection.Next);
|
||||
appendToHistory(current.BeatmapInfo);
|
||||
}
|
||||
|
||||
@ -298,10 +298,10 @@ namespace osu.Game.Overlays
|
||||
current.Track.Start();
|
||||
beatmapSource.Value = current;
|
||||
});
|
||||
updateDisplay(current, isNext);
|
||||
updateDisplay(current, isNext ? TransformDirection.Next : TransformDirection.Prev);
|
||||
}
|
||||
|
||||
private void updateDisplay(WorkingBeatmap beatmap, bool? isNext)
|
||||
private void updateDisplay(WorkingBeatmap beatmap, TransformDirection direction)
|
||||
{
|
||||
if (beatmap.Beatmap == null)
|
||||
//todo: we may need to display some default text here (currently in the constructor).
|
||||
@ -315,20 +315,21 @@ namespace osu.Game.Overlays
|
||||
|
||||
Add(newBackground);
|
||||
|
||||
if (isNext == true)
|
||||
switch (direction)
|
||||
{
|
||||
newBackground.Position = new Vector2(400, 0);
|
||||
newBackground.MoveToX(0, 500, EasingTypes.OutCubic);
|
||||
backgroundSprite.MoveToX(-400, 500, EasingTypes.OutCubic);
|
||||
case TransformDirection.Next:
|
||||
newBackground.Position = new Vector2(400, 0);
|
||||
newBackground.MoveToX(0, 500, EasingTypes.OutCubic);
|
||||
backgroundSprite.MoveToX(-400, 500, EasingTypes.OutCubic);
|
||||
break;
|
||||
case TransformDirection.Prev:
|
||||
newBackground.Position = new Vector2(-400, 0);
|
||||
newBackground.MoveToX(0, 500, EasingTypes.OutCubic);
|
||||
backgroundSprite.MoveToX(400, 500, EasingTypes.OutCubic);
|
||||
break;
|
||||
}
|
||||
else if (isNext == false)
|
||||
{
|
||||
newBackground.Position = new Vector2(-400, 0);
|
||||
newBackground.MoveToX(0, 500, EasingTypes.OutCubic);
|
||||
backgroundSprite.MoveToX(400, 500, EasingTypes.OutCubic);
|
||||
}
|
||||
backgroundSprite.Expire();
|
||||
|
||||
backgroundSprite.Expire();
|
||||
backgroundSprite = newBackground;
|
||||
}
|
||||
|
||||
@ -354,6 +355,8 @@ namespace osu.Game.Overlays
|
||||
|
||||
protected override void PopOut() => FadeOut(100);
|
||||
|
||||
private enum TransformDirection { None, Next, Prev }
|
||||
|
||||
private class MusicControllerBackground : BufferedContainer
|
||||
{
|
||||
private Sprite sprite;
|
||||
|
Loading…
Reference in New Issue
Block a user