mirror of
https://github.com/ppy/osu.git
synced 2025-01-30 00:53:10 +08:00
allow skinned 'applause' sample to override results screen sfx
This commit is contained in:
parent
582360d0c8
commit
054de675ff
@ -116,12 +116,14 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
private DrawableSample swooshUpSound;
|
||||
private DrawableSample rankImpactSound;
|
||||
private DrawableSample rankApplauseSound;
|
||||
private DrawableSample legacySkinApplauseSound;
|
||||
|
||||
private Bindable<double> tickPlaybackRate = new Bindable<double>();
|
||||
private double lastTickPlaybackTime;
|
||||
private bool isTicking;
|
||||
|
||||
private readonly bool sfxEnabled;
|
||||
private bool legacySkin => legacySkinApplauseSound != null;
|
||||
|
||||
public AccuracyCircle(ScoreInfo score, bool sfxEnabled = false)
|
||||
{
|
||||
@ -251,6 +253,15 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
};
|
||||
|
||||
if (sfxEnabled)
|
||||
{
|
||||
Drawable legacySkinApplause = skin.GetDrawableComponent(new GameplaySkinComponent<GameplaySkinSamples>(GameplaySkinSamples.Applause));
|
||||
|
||||
if (legacySkinApplause != null)
|
||||
{
|
||||
AddInternal(legacySkinApplause);
|
||||
legacySkinApplauseSound = legacySkinApplause as DrawableSample;
|
||||
}
|
||||
else
|
||||
{
|
||||
tickPlaybackRate = new Bindable<double>(sfx_score_tick_debounce_rate_start);
|
||||
|
||||
@ -300,6 +311,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ScoreRank getRank(ScoreRank rank)
|
||||
{
|
||||
@ -329,7 +341,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
|
||||
this.ScaleTo(0).Then().ScaleTo(1, APPEAR_DURATION, Easing.OutQuint);
|
||||
|
||||
if (sfxEnabled)
|
||||
if (sfxEnabled && !legacySkin)
|
||||
{
|
||||
this.Delay(sfx_swoosh_pre_delay).Schedule(() =>
|
||||
{
|
||||
@ -347,7 +359,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
|
||||
accuracyCircle.FillTo(targetAccuracy, ACCURACY_TRANSFORM_DURATION, ACCURACY_TRANSFORM_EASING);
|
||||
|
||||
if (sfxEnabled)
|
||||
if (sfxEnabled && !legacySkin)
|
||||
{
|
||||
Schedule(() =>
|
||||
{
|
||||
@ -370,7 +382,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
{
|
||||
badge.Appear();
|
||||
|
||||
if (sfxEnabled)
|
||||
if (sfxEnabled && !legacySkin)
|
||||
{
|
||||
Schedule(() =>
|
||||
{
|
||||
@ -389,6 +401,10 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
|
||||
if (!sfxEnabled) return;
|
||||
|
||||
legacySkinApplauseSound?.Play();
|
||||
|
||||
if (legacySkin) return;
|
||||
|
||||
Schedule(() =>
|
||||
{
|
||||
isTicking = false;
|
||||
|
Loading…
Reference in New Issue
Block a user