Move user dim logic into UserDimContainer instead

This commit is contained in:
David Zhao
2019-02-20 16:53:57 +09:00
parent 87717dcf9e
commit 1bd1b6b099
5 changed files with 53 additions and 42 deletions

View File

@ -0,0 +1,36 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Configuration;
using osuTK.Graphics;
namespace osu.Game.Graphics.Containers
{
public class UserDimContainer : Container
{
#region User Settings
protected Bindable<double> DimLevel;
#endregion
public Bindable<bool> EnableUserDim = new Bindable<bool>();
[BackgroundDependencyLoader]
private void load(OsuConfigManager config)
{
DimLevel = config.GetBindable<double>(OsuSetting.DimLevel);
EnableUserDim.ValueChanged += _ => updateBackgroundDim();
DimLevel.ValueChanged += _ => updateBackgroundDim();
}
private void updateBackgroundDim()
{
this.FadeColour(EnableUserDim ? OsuColour.Gray(1 - (float)DimLevel) : Color4.White, 800, Easing.OutQuint);
}
}
}