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,13 +46,14 @@ 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)
// 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);
}