1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 09:27:29 +08:00

Add more comprehensive commenting and simplify base call logic

We can call the base method regardless for better safety. Worst case
it's just going to run `Stop()` twice anyway.
This commit is contained in:
Dean Herbert 2021-02-01 16:43:53 +09:00
parent ee89aa159c
commit 05982f42ab

View File

@ -46,14 +46,15 @@ namespace osu.Game.Storyboards.Drawables
{
if (!RequestedPlaying) return;
// non-looping storyboard samples should be stopped immediately when sample playback is disabled
if (!Looping)
if (!Looping && disabled.NewValue)
{
if (disabled.NewValue)
Stop();
// the default behaviour for sample disabling is to allow one-shot samples to play out.
// storyboards regularly have long running samples that can cause this behaviour to lead to unintended results.
// for this reason, we immediately stop such samples.
Stop();
}
else
base.SamplePlaybackDisabledChanged(disabled);
base.SamplePlaybackDisabledChanged(disabled);
}
protected override void Update()