Browse Source

disable calibration marker behavior when end is reached; make speed variable

Nick Steyer 1 year ago
parent
commit
48d8d62c17
2 changed files with 4 additions and 3 deletions
  1. 3 3
      Assets/CalibrationMarkerBehavior.cs
  2. 1 0
      Assets/Scenes/Calibration.unity

+ 3 - 3
Assets/CalibrationMarkerBehavior.cs

@@ -5,6 +5,8 @@ using UnityEngine;
 
 public class CalibrationMarkerBehavior : MonoBehaviour
 {
+    public float speed = 0.05f;
+
     Vector3[] frustumCorners;
     List<Vector3> targetPositions;
     PersonManager PersonManager => personManagerLazy.Value;
@@ -65,9 +67,6 @@ public class CalibrationMarkerBehavior : MonoBehaviour
     {
         var marker = GameObject.Find("CalibrationMarker");
 
-        // TODO: make variable
-        const float speed = 0.5f;
-
         if (Vector3.Distance(marker.transform.position, currentTarget) >= 0.05f)
         {
             marker.transform.position += Vector3.ClampMagnitude(speed * Time.deltaTime * normalizedTranslationVector, (currentTarget - marker.transform.position).magnitude);
@@ -80,6 +79,7 @@ public class CalibrationMarkerBehavior : MonoBehaviour
         }
         else
         {
+            enabled = false;
             PathFinished?.Invoke(this, EventArgs.Empty);
         }
 

+ 1 - 0
Assets/Scenes/Calibration.unity

@@ -406,6 +406,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 1b4c4acdcaaafa446b01abd537ac6f64, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  speed: 0.5
 --- !u!54 &2057004209
 Rigidbody:
   m_ObjectHideFlags: 0