diff --git a/osu.Android.props b/osu.Android.props
index 140057f9cc7a..721e13a759f5 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -51,7 +51,7 @@
-
+
diff --git a/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs b/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
index 905d5b44c681..eb235632e812 100644
--- a/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
+++ b/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
+using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Effects;
@@ -13,6 +14,8 @@
using osuTK.Input;
using System.Linq;
using osu.Framework.Allocation;
+using osu.Framework.Audio;
+using osu.Framework.Audio.Sample;
namespace osu.Game.Overlays.Toolbar
{
@@ -20,6 +23,8 @@ public class ToolbarRulesetSelector : RulesetSelector
{
protected Drawable ModeButtonLine { get; private set; }
+ private readonly Dictionary selectionSamples = new Dictionary();
+
public ToolbarRulesetSelector()
{
RelativeSizeAxes = Axes.Y;
@@ -27,7 +32,7 @@ public ToolbarRulesetSelector()
}
[BackgroundDependencyLoader]
- private void load()
+ private void load(AudioManager audio)
{
AddRangeInternal(new[]
{
@@ -54,6 +59,9 @@ private void load()
}
}
});
+
+ foreach (var ruleset in Rulesets.AvailableRulesets)
+ selectionSamples[ruleset.ShortName] = audio.Samples.Get($"UI/ruleset-select-{ruleset.ShortName}");
}
protected override void LoadComplete()
@@ -72,6 +80,10 @@ private void moveLineToCurrent() => ScheduleAfterChildren(() =>
if (SelectedTab != null)
{
ModeButtonLine.MoveToX(SelectedTab.DrawPosition.X, !hasInitialPosition ? 0 : 200, Easing.OutQuint);
+
+ if (hasInitialPosition)
+ selectionSamples[SelectedTab.Value.ShortName]?.Play();
+
hasInitialPosition = true;
}
});
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 532dea7ace08..75a3e45941a9 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -30,7 +30,7 @@
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index edebefa70e3e..69676a1aed8f 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -71,7 +71,7 @@
-
+