mirror of
https://github.com/ppy/osu
synced 2025-03-05 10:58:34 +00:00
adding setting to adjust blur of the background of the song select screen
This commit is contained in:
parent
d695214ae1
commit
6daa364779
@ -60,6 +60,8 @@ namespace osu.Game.Configuration
|
|||||||
|
|
||||||
SetDefault(OsuSetting.ToolbarClockDisplayMode, ToolbarClockDisplayMode.Full);
|
SetDefault(OsuSetting.ToolbarClockDisplayMode, ToolbarClockDisplayMode.Full);
|
||||||
|
|
||||||
|
SetDefault(OsuSetting.BeatmapSelectionBlurLevel, 1f, 0, 1f, 0.01f);
|
||||||
|
|
||||||
// Online settings
|
// Online settings
|
||||||
SetDefault(OsuSetting.Username, string.Empty);
|
SetDefault(OsuSetting.Username, string.Empty);
|
||||||
SetDefault(OsuSetting.Token, string.Empty);
|
SetDefault(OsuSetting.Token, string.Empty);
|
||||||
@ -339,6 +341,7 @@ namespace osu.Game.Configuration
|
|||||||
ChatDisplayHeight,
|
ChatDisplayHeight,
|
||||||
BeatmapListingCardSize,
|
BeatmapListingCardSize,
|
||||||
ToolbarClockDisplayMode,
|
ToolbarClockDisplayMode,
|
||||||
|
BeatmapSelectionBlurLevel,
|
||||||
Version,
|
Version,
|
||||||
ShowFirstRunSetup,
|
ShowFirstRunSetup,
|
||||||
ShowConvertedBeatmaps,
|
ShowConvertedBeatmaps,
|
||||||
|
@ -109,6 +109,12 @@ namespace osu.Game.Localisation
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static LocalisableString ModSelectHotkeyStyle => new TranslatableString(getKey(@"mod_select_hotkey_style"), @"Mod select hotkey style");
|
public static LocalisableString ModSelectHotkeyStyle => new TranslatableString(getKey(@"mod_select_hotkey_style"), @"Mod select hotkey style");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Beatmap selection blur level"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString BeatmapSelectionBlurLevel => new TranslatableString(getKey(@"beatmap_selection_blur_level"), @"Beatmap selection blur level");
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// "no limit"
|
/// "no limit"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -42,6 +42,11 @@ namespace osu.Game.Overlays.Settings.Sections.UserInterface
|
|||||||
LabelText = UserInterfaceStrings.ModSelectHotkeyStyle,
|
LabelText = UserInterfaceStrings.ModSelectHotkeyStyle,
|
||||||
Current = config.GetBindable<ModSelectHotkeyStyle>(OsuSetting.ModSelectHotkeyStyle),
|
Current = config.GetBindable<ModSelectHotkeyStyle>(OsuSetting.ModSelectHotkeyStyle),
|
||||||
ClassicDefault = ModSelectHotkeyStyle.Classic
|
ClassicDefault = ModSelectHotkeyStyle.Classic
|
||||||
|
},
|
||||||
|
new SettingsSlider<float>
|
||||||
|
{
|
||||||
|
LabelText = UserInterfaceStrings.BeatmapSelectionBlurLevel,
|
||||||
|
Current = config.GetBindable<float>(OsuSetting.BeatmapSelectionBlurLevel)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ using osu.Game.Collections;
|
|||||||
using osu.Game.Graphics.UserInterface;
|
using osu.Game.Graphics.UserInterface;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using osu.Framework.Extensions.ObjectExtensions;
|
using osu.Framework.Extensions.ObjectExtensions;
|
||||||
|
using osu.Game.Configuration;
|
||||||
using osu.Game.Screens.Play;
|
using osu.Game.Screens.Play;
|
||||||
using osu.Game.Skinning;
|
using osu.Game.Skinning;
|
||||||
|
|
||||||
@ -124,9 +125,26 @@ namespace osu.Game.Screens.Select
|
|||||||
[Resolved]
|
[Resolved]
|
||||||
internal IOverlayManager? OverlayManager { get; private set; }
|
internal IOverlayManager? OverlayManager { get; private set; }
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
private Bindable<float> backgroundBlurLevel { get; set; } = new BindableFloat();
|
||||||
private void load(AudioManager audio, OsuColour colours, ManageCollectionsDialog? manageCollectionsDialog, DifficultyRecommender? recommender)
|
|
||||||
|
private void applyBackgroundBlur(float v)
|
||||||
{
|
{
|
||||||
|
ApplyToBackground(background =>
|
||||||
|
{
|
||||||
|
background.IgnoreUserSettings.Value = true;
|
||||||
|
background.BlurAmount.Value = v * BACKGROUND_BLUR;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
private void applyBackgroundBlur(ValueChangedEvent<float> v)
|
||||||
|
{
|
||||||
|
applyBackgroundBlur(v.NewValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
[BackgroundDependencyLoader(true)]
|
||||||
|
private void load(AudioManager audio, OsuColour colours, ManageCollectionsDialog? manageCollectionsDialog, DifficultyRecommender? recommender, OsuConfigManager config)
|
||||||
|
{
|
||||||
|
backgroundBlurLevel = config.GetBindable<float>(OsuSetting.BeatmapSelectionBlurLevel);
|
||||||
|
|
||||||
LoadComponentAsync(Carousel = new BeatmapCarousel
|
LoadComponentAsync(Carousel = new BeatmapCarousel
|
||||||
{
|
{
|
||||||
AllowSelection = false, // delay any selection until our bindables are ready to make a good choice.
|
AllowSelection = false, // delay any selection until our bindables are ready to make a good choice.
|
||||||
@ -549,6 +567,9 @@ namespace osu.Game.Screens.Select
|
|||||||
{
|
{
|
||||||
base.OnEntering(e);
|
base.OnEntering(e);
|
||||||
|
|
||||||
|
backgroundBlurLevel.ValueChanged += applyBackgroundBlur;
|
||||||
|
applyBackgroundBlur(backgroundBlurLevel.Value);
|
||||||
|
|
||||||
this.FadeInFromZero(250);
|
this.FadeInFromZero(250);
|
||||||
FilterControl.Activate();
|
FilterControl.Activate();
|
||||||
|
|
||||||
@ -596,6 +617,8 @@ namespace osu.Game.Screens.Select
|
|||||||
public override void OnResuming(ScreenTransitionEvent e)
|
public override void OnResuming(ScreenTransitionEvent e)
|
||||||
{
|
{
|
||||||
base.OnResuming(e);
|
base.OnResuming(e);
|
||||||
|
backgroundBlurLevel.ValueChanged += applyBackgroundBlur;
|
||||||
|
applyBackgroundBlur(backgroundBlurLevel.Value);
|
||||||
|
|
||||||
// required due to https://github.com/ppy/osu-framework/issues/3218
|
// required due to https://github.com/ppy/osu-framework/issues/3218
|
||||||
ModSelect.SelectedMods.Disabled = false;
|
ModSelect.SelectedMods.Disabled = false;
|
||||||
@ -641,6 +664,8 @@ namespace osu.Game.Screens.Select
|
|||||||
// Without this, it's possible for a transfer to happen while we are not the current screen.
|
// Without this, it's possible for a transfer to happen while we are not the current screen.
|
||||||
transferRulesetValue();
|
transferRulesetValue();
|
||||||
|
|
||||||
|
backgroundBlurLevel.ValueChanged -= applyBackgroundBlur;
|
||||||
|
|
||||||
ModSelect.SelectedMods.UnbindFrom(selectedMods);
|
ModSelect.SelectedMods.UnbindFrom(selectedMods);
|
||||||
|
|
||||||
playExitingTransition();
|
playExitingTransition();
|
||||||
@ -649,6 +674,8 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
public override bool OnExiting(ScreenExitEvent e)
|
public override bool OnExiting(ScreenExitEvent e)
|
||||||
{
|
{
|
||||||
|
backgroundBlurLevel.ValueChanged -= applyBackgroundBlur;
|
||||||
|
|
||||||
if (base.OnExiting(e))
|
if (base.OnExiting(e))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@ -742,7 +769,7 @@ namespace osu.Game.Screens.Select
|
|||||||
ApplyToBackground(backgroundModeBeatmap =>
|
ApplyToBackground(backgroundModeBeatmap =>
|
||||||
{
|
{
|
||||||
backgroundModeBeatmap.Beatmap = beatmap;
|
backgroundModeBeatmap.Beatmap = beatmap;
|
||||||
backgroundModeBeatmap.BlurAmount.Value = BACKGROUND_BLUR;
|
backgroundModeBeatmap.BlurAmount.Value = backgroundBlurLevel.Value * BACKGROUND_BLUR;
|
||||||
backgroundModeBeatmap.FadeColour(Color4.White, 250);
|
backgroundModeBeatmap.FadeColour(Color4.White, 250);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user