diff --git a/src/UI/Components/TargetFrame/FloatParamTargetFrame.cs b/src/UI/Components/TargetFrame/FloatParamTargetFrame.cs index 139579db..6d5ff6f9 100644 --- a/src/UI/Components/TargetFrame/FloatParamTargetFrame.cs +++ b/src/UI/Components/TargetFrame/FloatParamTargetFrame.cs @@ -17,7 +17,8 @@ protected override void CreateCustom() _simpleSlider = slider.AddComponent(); _simpleSlider.onChange.AddListener(val => { - if (clip.playbackEnabled) return; + if (plugin.animationEditContext.locked) return; + if (plugin.animationEditContext.locked) return; if (!target.EnsureAvailable()) return; SetValue(target.floatParam.min + val * (target.floatParam.max - target.floatParam.min)); }); diff --git a/src/UI/Screens/MocapScreen.cs b/src/UI/Screens/MocapScreen.cs index 2b1d1d6f..9913c263 100644 --- a/src/UI/Screens/MocapScreen.cs +++ b/src/UI/Screens/MocapScreen.cs @@ -380,9 +380,10 @@ private IEnumerator PlayAndRecordFloatParamsCoroutine() yield return 0; sctrl.helpText = string.Empty; animationEditContext.PlayCurrentAndOtherMainsInLayers(false); - while (animation.playTime <= current.animationLength) + while (animation.playTime <= current.animationLength && animation.isPlaying) yield return 0; - animation.StopAll(); + animationEditContext.Stop(); + animationEditContext.clipTime = 0f; _recordingFloatParamsCoroutine = null; _simplifyFloatParamsOnLoad = true; ChangeScreen(ScreenName);