From ad426d4f83adfee0e97b3f560303f02095917dc8 Mon Sep 17 00:00:00 2001 From: originalnicodr Date: Sat, 10 Feb 2024 16:47:59 -0300 Subject: [PATCH] Added "pause on finish" toggle for cam paths. --- src/UI/Panels/CamPaths.cs | 7 +++++++ src/UI/Widgets/CatmullRom.cs | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/UI/Panels/CamPaths.cs b/src/UI/Panels/CamPaths.cs index 6b0f9aa..fb868b1 100644 --- a/src/UI/Panels/CamPaths.cs +++ b/src/UI/Panels/CamPaths.cs @@ -56,6 +56,7 @@ namespace UnityExplorer.UI.Panels bool unpauseOnPlay; bool waitBeforePlay; private System.Timers.Timer startTimer; + public bool pauseOnFinish; InputFieldRef alphaCatmullRomInput; Slider alphaCatmullRomSlider; @@ -153,6 +154,12 @@ namespace UnityExplorer.UI.Panels unpauseOnPlayToggle.onValueChanged.AddListener((value) => unpauseOnPlay = value); unpauseOnPlayText.text = "Unpause on play"; + GameObject pauseOnFinishObj = UIFactory.CreateToggle(secondRow, "Pause on finish", out Toggle pauseOnFinishToggle, out Text pauseOnFinishText); + UIFactory.SetLayoutElement(pauseOnFinishObj, minHeight: 25, flexibleWidth: 9999); + pauseOnFinishToggle.isOn = false; + pauseOnFinishToggle.onValueChanged.AddListener((value) => pauseOnFinish = value); + pauseOnFinishText.text = "Pause on finish"; + GameObject waitBeforePlayObj = UIFactory.CreateToggle(secondRow, "Wait before play", out Toggle waitBeforePlayToggle, out Text waitBeforePlayText); UIFactory.SetLayoutElement(waitBeforePlayObj, minHeight: 25, flexibleWidth: 9999); waitBeforePlayToggle.isOn = false; diff --git a/src/UI/Widgets/CatmullRom.cs b/src/UI/Widgets/CatmullRom.cs index 9e5a531..b91ced2 100644 --- a/src/UI/Widgets/CatmullRom.cs +++ b/src/UI/Widgets/CatmullRom.cs @@ -405,6 +405,10 @@ namespace UnityExplorer.CatmullRom playingPath = false; delta = 0; pauseCamCache = GetCurrentPoint(); + + if (UIManager.GetPanel(UIManager.Panels.CamPaths).pauseOnFinish && !UIManager.GetTimeScaleWidget().IsPaused()){ + UIManager.GetTimeScaleWidget().PauseToggle(); + } } } }