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:
commit
53a9804455
@ -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")
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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()
|
||||||
|
@ -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)
|
||||||
|
@ -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[]
|
||||||
{
|
{
|
||||||
|
@ -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[]
|
||||||
{
|
{
|
||||||
|
@ -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 },
|
||||||
},
|
},
|
||||||
|
@ -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[]
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user