Move gameplay configuration to interface to allow editor overriding

This commit is contained in:
Dean Herbert
2022-11-08 18:24:57 +09:00
parent 75bf023f14
commit dd4cd3cf8e
4 changed files with 34 additions and 6 deletions

View File

@ -6,6 +6,7 @@
using System;
using System.Diagnostics;
using System.Globalization;
using osu.Framework.Bindables;
using osu.Framework.Configuration;
using osu.Framework.Configuration.Tracking;
using osu.Framework.Extensions;
@ -27,7 +28,7 @@ using osu.Game.Skinning;
namespace osu.Game.Configuration
{
[ExcludeFromDynamicCompile]
public class OsuConfigManager : IniConfigManager<OsuSetting>
public class OsuConfigManager : IniConfigManager<OsuSetting>, IGameplaySettings
{
public OsuConfigManager(Storage storage)
: base(storage)
@ -276,6 +277,9 @@ namespace osu.Game.Configuration
public Func<Guid, string> LookupSkinName { private get; set; } = _ => @"unknown";
public Func<GlobalAction, LocalisableString> LookupKeyBindings { get; set; } = _ => @"unknown";
IBindable<float> IGameplaySettings.ComboColourNormalisationAmount => GetOriginalBindable<float>(OsuSetting.ComboColourNormalisationAmount);
IBindable<float> IGameplaySettings.PositionalHitsoundsLevel => GetOriginalBindable<float>(OsuSetting.PositionalHitsoundsLevel);
}
// IMPORTANT: These are used in user configuration files.