diff --git a/osu-resources b/osu-resources index 6edd5eacdd..8ee9e6736f 160000 --- a/osu-resources +++ b/osu-resources @@ -1 +1 @@ -Subproject commit 6edd5eacdd25cc8c4f4dbca3414678c0b7dc5deb +Subproject commit 8ee9e6736fb3f656894baaef109a06fd25278fe6 diff --git a/osu.Game/Overlays/Options/CheckBoxOption.cs b/osu.Game/Overlays/Options/CheckBoxOption.cs index 18f0e59e03..ca346b1dd0 100644 --- a/osu.Game/Overlays/Options/CheckBoxOption.cs +++ b/osu.Game/Overlays/Options/CheckBoxOption.cs @@ -1,5 +1,8 @@ using System; using osu.Framework; +using osu.Framework.Allocation; +using osu.Framework.Audio; +using osu.Framework.Audio.Sample; using osu.Framework.Configuration; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; @@ -60,6 +63,8 @@ public MarginPadding LabelPadding private Light light; private SpriteText labelSpriteText; + private AudioSample sampleChecked; + private AudioSample sampleUnchecked; public CheckBoxOption() { @@ -102,11 +107,19 @@ protected override void OnHoverLost(InputState state) base.OnHoverLost(state); } + [BackgroundDependencyLoader] + private void load(AudioManager audio) + { + sampleChecked = audio.Sample.Get(@"Checkbox/check-on"); + sampleUnchecked = audio.Sample.Get(@"Checkbox/check-off"); + } + protected override void OnChecked() { if (bindable != null) bindable.Value = true; + sampleChecked?.Play(); light.State = CheckBoxState.Checked; } @@ -115,6 +128,7 @@ protected override void OnUnchecked() if (bindable != null) bindable.Value = false; + sampleUnchecked?.Play(); light.State = CheckBoxState.Unchecked; }