diff --git a/src/UI/Panels/CamPaths.cs b/src/UI/Panels/CamPaths.cs index a6443a3..66974f5 100644 --- a/src/UI/Panels/CamPaths.cs +++ b/src/UI/Panels/CamPaths.cs @@ -424,7 +424,17 @@ namespace UnityExplorer.UI.Panels } } - public void TranslatePointsPositionToGlobal(){ + public void TranslatePointsToGlobal(bool isFollowingRotation){ + if (isFollowingRotation) TranslatePointsRotationToGlobal(); + TranslatePointsPositionToGlobal(); + } + + public void TranslatePointsToLocal(bool isFollowingRotation){ + TranslatePointsPositionToLocal(); + if (isFollowingRotation) TranslatePointsRotationToLocal(); + } + + private void TranslatePointsPositionToGlobal(){ List newControlPoints = new List(); foreach(CatmullRom.CatmullRomPoint point in controlPoints){ Vector3 newPos = point.position + followObject.transform.position; @@ -450,7 +460,7 @@ namespace UnityExplorer.UI.Panels controlPoints = newControlPoints; } - public void TranslatePointsPositionToLocal(){ + private void TranslatePointsPositionToLocal(){ List newControlPoints = new List(); foreach(CatmullRom.CatmullRomPoint point in controlPoints){ Vector3 newPos = point.position - followObject.transform.position; diff --git a/src/UI/Panels/FreeCamPanel.cs b/src/UI/Panels/FreeCamPanel.cs index 74948b7..4b69e36 100644 --- a/src/UI/Panels/FreeCamPanel.cs +++ b/src/UI/Panels/FreeCamPanel.cs @@ -448,8 +448,7 @@ namespace UnityExplorer.UI.Panels CamPaths CamPathsPanel = UIManager.GetPanel(UIManager.Panels.CamPaths); if (followObject != null){ - if (followRotationToggle.isOn) CamPathsPanel.TranslatePointsRotationToGlobal(); - CamPathsPanel.TranslatePointsPositionToGlobal(); + CamPathsPanel.TranslatePointsToGlobal(followRotationToggle.isOn); } followObject = obj; @@ -459,8 +458,7 @@ namespace UnityExplorer.UI.Panels CamPathsPanel.UpdatedFollowObject(obj); - CamPathsPanel.TranslatePointsPositionToLocal(); - if (followRotationToggle.isOn) CamPathsPanel.TranslatePointsRotationToLocal(); + CamPathsPanel.TranslatePointsToLocal(followRotationToggle.isOn); CamPathsPanel.MaybeRedrawPath(); } @@ -480,8 +478,7 @@ namespace UnityExplorer.UI.Panels } CamPaths CamPathsPanel = UIManager.GetPanel(UIManager.Panels.CamPaths); - if (followRotationToggle.isOn) CamPathsPanel.TranslatePointsRotationToGlobal(); - CamPathsPanel.TranslatePointsPositionToGlobal(); + CamPathsPanel.TranslatePointsToGlobal(followRotationToggle.isOn); CamPathsPanel.UpdatedFollowObject(null); }