1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 20:22:55 +08:00

Merge branch 'master' into add-editor-tool-icons

This commit is contained in:
Dan Balasescu 2020-09-09 21:21:56 +09:00 committed by GitHub
commit 53a9804455
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 36 additions and 25 deletions

View File

@ -48,7 +48,10 @@ namespace osu.Game.Tests.Visual.Gameplay
private class ExampleContainer : PlayerSettingsGroup private class ExampleContainer : PlayerSettingsGroup
{ {
protected override string Title => @"example"; public ExampleContainer()
: base("example")
{
}
} }
} }
} }

View File

@ -20,8 +20,6 @@ namespace osu.Game.Tournament.Screens.Ladder.Components
{ {
private const int padding = 10; private const int padding = 10;
protected override string Title => @"ladder";
private SettingsDropdown<TournamentRound> roundDropdown; private SettingsDropdown<TournamentRound> roundDropdown;
private PlayerCheckbox losersCheckbox; private PlayerCheckbox losersCheckbox;
private DateTextBox dateTimeBox; private DateTextBox dateTimeBox;
@ -34,6 +32,11 @@ namespace osu.Game.Tournament.Screens.Ladder.Components
[Resolved] [Resolved]
private LadderInfo ladderInfo { get; set; } private LadderInfo ladderInfo { get; set; }
public LadderEditorSettings()
: base("ladder")
{
}
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()
{ {

View File

@ -66,12 +66,14 @@ namespace osu.Game.Beatmaps
private readonly RulesetStore rulesets; private readonly RulesetStore rulesets;
private readonly BeatmapStore beatmaps; private readonly BeatmapStore beatmaps;
private readonly AudioManager audioManager; private readonly AudioManager audioManager;
private readonly BeatmapOnlineLookupQueue onlineLookupQueue;
private readonly TextureStore textureStore; private readonly TextureStore textureStore;
private readonly ITrackStore trackStore; private readonly ITrackStore trackStore;
[CanBeNull]
private readonly BeatmapOnlineLookupQueue onlineLookupQueue;
public BeatmapManager(Storage storage, IDatabaseContextFactory contextFactory, RulesetStore rulesets, IAPIProvider api, [NotNull] AudioManager audioManager, GameHost host = null, public BeatmapManager(Storage storage, IDatabaseContextFactory contextFactory, RulesetStore rulesets, IAPIProvider api, [NotNull] AudioManager audioManager, GameHost host = null,
WorkingBeatmap defaultBeatmap = null) WorkingBeatmap defaultBeatmap = null, bool performOnlineLookups = false)
: base(storage, contextFactory, api, new BeatmapStore(contextFactory), host) : base(storage, contextFactory, api, new BeatmapStore(contextFactory), host)
{ {
this.rulesets = rulesets; this.rulesets = rulesets;
@ -85,6 +87,7 @@ namespace osu.Game.Beatmaps
beatmaps.ItemRemoved += removeWorkingCache; beatmaps.ItemRemoved += removeWorkingCache;
beatmaps.ItemUpdated += removeWorkingCache; beatmaps.ItemUpdated += removeWorkingCache;
if (performOnlineLookups)
onlineLookupQueue = new BeatmapOnlineLookupQueue(api, storage); onlineLookupQueue = new BeatmapOnlineLookupQueue(api, storage);
textureStore = new LargeTextureStore(host?.CreateTextureLoaderStore(Files.Store)); textureStore = new LargeTextureStore(host?.CreateTextureLoaderStore(Files.Store));
@ -142,6 +145,7 @@ namespace osu.Game.Beatmaps
bool hadOnlineBeatmapIDs = beatmapSet.Beatmaps.Any(b => b.OnlineBeatmapID > 0); bool hadOnlineBeatmapIDs = beatmapSet.Beatmaps.Any(b => b.OnlineBeatmapID > 0);
if (onlineLookupQueue != null)
await onlineLookupQueue.UpdateAsync(beatmapSet, cancellationToken); await onlineLookupQueue.UpdateAsync(beatmapSet, cancellationToken);
// ensure at least one beatmap was able to retrieve or keep an online ID, else drop the set ID. // ensure at least one beatmap was able to retrieve or keep an online ID, else drop the set ID.

View File

@ -198,7 +198,7 @@ namespace osu.Game
// ordering is important here to ensure foreign keys rules are not broken in ModelStore.Cleanup() // ordering is important here to ensure foreign keys rules are not broken in ModelStore.Cleanup()
dependencies.Cache(ScoreManager = new ScoreManager(RulesetStore, () => BeatmapManager, Storage, API, contextFactory, Host)); dependencies.Cache(ScoreManager = new ScoreManager(RulesetStore, () => BeatmapManager, Storage, API, contextFactory, Host));
dependencies.Cache(BeatmapManager = new BeatmapManager(Storage, contextFactory, RulesetStore, API, Audio, Host, defaultBeatmap)); dependencies.Cache(BeatmapManager = new BeatmapManager(Storage, contextFactory, RulesetStore, API, Audio, Host, defaultBeatmap, true));
// this should likely be moved to ArchiveModelManager when another case appers where it is necessary // this should likely be moved to ArchiveModelManager when another case appers where it is necessary
// to have inter-dependent model managers. this could be obtained with an IHasForeign<T> interface to // to have inter-dependent model managers. this could be obtained with an IHasForeign<T> interface to

View File

@ -8,9 +8,8 @@ namespace osu.Game.Rulesets.Edit
{ {
public class ToolboxGroup : PlayerSettingsGroup public class ToolboxGroup : PlayerSettingsGroup
{ {
protected override string Title => "toolbox";
public ToolboxGroup() public ToolboxGroup()
: base("toolbox")
{ {
RelativeSizeAxes = Axes.X; RelativeSizeAxes = Axes.X;
Width = 1; Width = 1;

View File

@ -10,7 +10,10 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
public class CollectionSettings : PlayerSettingsGroup public class CollectionSettings : PlayerSettingsGroup
{ {
protected override string Title => @"collections"; public CollectionSettings()
: base("collections")
{
}
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()

View File

@ -10,7 +10,10 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
public class DiscussionSettings : PlayerSettingsGroup public class DiscussionSettings : PlayerSettingsGroup
{ {
protected override string Title => @"discussions"; public DiscussionSettings()
: base("discussions")
{
}
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(OsuConfigManager config) private void load(OsuConfigManager config)

View File

@ -9,11 +9,10 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
public class InputSettings : PlayerSettingsGroup public class InputSettings : PlayerSettingsGroup
{ {
protected override string Title => "Input settings";
private readonly PlayerCheckbox mouseButtonsCheckbox; private readonly PlayerCheckbox mouseButtonsCheckbox;
public InputSettings() public InputSettings()
: base("Input Settings")
{ {
Children = new Drawable[] Children = new Drawable[]
{ {

View File

@ -13,8 +13,6 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
private const int padding = 10; private const int padding = 10;
protected override string Title => @"playback";
public readonly Bindable<double> UserPlaybackRate = new BindableDouble(1) public readonly Bindable<double> UserPlaybackRate = new BindableDouble(1)
{ {
Default = 1, Default = 1,
@ -28,6 +26,7 @@ namespace osu.Game.Screens.Play.PlayerSettings
private readonly OsuSpriteText multiplierText; private readonly OsuSpriteText multiplierText;
public PlaybackSettings() public PlaybackSettings()
: base("playback")
{ {
Children = new Drawable[] Children = new Drawable[]
{ {

View File

@ -17,11 +17,6 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
public abstract class PlayerSettingsGroup : Container public abstract class PlayerSettingsGroup : Container
{ {
/// <summary>
/// The title to be displayed in the header of this group.
/// </summary>
protected abstract string Title { get; }
private const float transition_duration = 250; private const float transition_duration = 250;
private const int container_width = 270; private const int container_width = 270;
private const int border_thickness = 2; private const int border_thickness = 2;
@ -58,7 +53,11 @@ namespace osu.Game.Screens.Play.PlayerSettings
private Color4 expandedColour; private Color4 expandedColour;
protected PlayerSettingsGroup() /// <summary>
/// Create a new instance.
/// </summary>
/// <param name="title">The title to be displayed in the header of this group.</param>
protected PlayerSettingsGroup(string title)
{ {
AutoSizeAxes = Axes.Y; AutoSizeAxes = Axes.Y;
Width = container_width; Width = container_width;
@ -95,7 +94,7 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
Origin = Anchor.CentreLeft, Origin = Anchor.CentreLeft,
Anchor = Anchor.CentreLeft, Anchor = Anchor.CentreLeft,
Text = Title.ToUpperInvariant(), Text = title.ToUpperInvariant(),
Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 17), Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 17),
Margin = new MarginPadding { Left = 10 }, Margin = new MarginPadding { Left = 10 },
}, },

View File

@ -10,8 +10,6 @@ namespace osu.Game.Screens.Play.PlayerSettings
{ {
public class VisualSettings : PlayerSettingsGroup public class VisualSettings : PlayerSettingsGroup
{ {
protected override string Title => "Visual settings";
private readonly PlayerSliderBar<double> dimSliderBar; private readonly PlayerSliderBar<double> dimSliderBar;
private readonly PlayerSliderBar<double> blurSliderBar; private readonly PlayerSliderBar<double> blurSliderBar;
private readonly PlayerCheckbox showStoryboardToggle; private readonly PlayerCheckbox showStoryboardToggle;
@ -19,6 +17,7 @@ namespace osu.Game.Screens.Play.PlayerSettings
private readonly PlayerCheckbox beatmapHitsoundsToggle; private readonly PlayerCheckbox beatmapHitsoundsToggle;
public VisualSettings() public VisualSettings()
: base("Visual Settings")
{ {
Children = new Drawable[] Children = new Drawable[]
{ {