Merge branch 'master' into mod-overlay

# Conflicts:
#	osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/osu.Game.csproj
This commit is contained in:
Dean Herbert
2017-03-02 20:27:04 +09:00
75 changed files with 860 additions and 205 deletions

View File

@ -28,6 +28,7 @@ using OpenTK.Input;
using System.Collections.Generic;
using osu.Framework.Threading;
using osu.Game.Overlays.Mods;
using osu.Game.Overlays;
namespace osu.Game.Screens.Select
{
@ -39,6 +40,7 @@ namespace osu.Game.Screens.Select
private CarouselContainer carousel;
private TrackManager trackManager;
private DialogOverlay dialogOverlay;
private static readonly Vector2 wedged_container_size = new Vector2(0.5f, 225);
private BeatmapInfoWedge beatmapInfoWedge;
@ -57,10 +59,25 @@ namespace osu.Game.Screens.Select
OsuScreen player;
FilterControl filter;
private FilterControl filter;
public FilterControl Filter
{
get
{
return filter;
}
private set
{
if (filter != value)
{
filter = value;
filterChanged();
}
}
}
[BackgroundDependencyLoader(permitNulls: true)]
private void load(BeatmapDatabase beatmaps, AudioManager audio, Framework.Game game,
private void load(BeatmapDatabase beatmaps, AudioManager audio, DialogOverlay dialog, Framework.Game game,
OsuGame osuGame, OsuColour colours)
{
const float carousel_width = 640;
@ -135,7 +152,7 @@ namespace osu.Game.Screens.Select
PreferredPlayMode = playMode.Value
})).LoadAsync(Game, l => Push(player));
}
}
},
};
footer.AddButton(@"mods", colours.Yellow, modSelect.ToggleVisibility);
@ -156,6 +173,7 @@ namespace osu.Game.Screens.Select
database.BeatmapSetRemoved += onBeatmapSetRemoved;
trackManager = audio.Track;
dialogOverlay = dialog;
sampleChangeDifficulty = audio.Sample.Get(@"SongSelect/select-difficulty");
sampleChangeBeatmap = audio.Sample.Get(@"SongSelect/select-expand");
@ -175,6 +193,7 @@ namespace osu.Game.Screens.Select
filterTask = null;
var search = filter.Search;
BeatmapGroup newSelection = null;
carousel.Sort(filter.Sort);
foreach (var beatmapGroup in carousel)
{
var set = beatmapGroup.BeatmapSet;
@ -387,6 +406,7 @@ namespace osu.Game.Screens.Select
if (token.IsCancellationRequested) return;
addBeatmapSet(beatmapSet, game);
}
filterChanged();
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
@ -397,12 +417,14 @@ namespace osu.Game.Screens.Select
footer.StartButton.TriggerClick();
return true;
case Key.Delete:
if (Beatmap != null)
if (state.Keyboard.ShiftPressed)
{
Beatmap.Dispose();
database.Delete(Beatmap.BeatmapSetInfo);
if (Beatmap != null)
dialogOverlay?.Push(new BeatmapDeleteDialog(Beatmap));
return true;
}
return true;
break;
}
return base.OnKeyDown(state, args);