using System; using UnityEngine; namespace ARLocation { /// /// This component renders a LocationPath using a given LineRenderer. /// [AddComponentMenu("AR+GPS/Render Path Line")] [HelpURL("https://http://docs.unity-ar-gps-location.com/guide/#renderpathline")] public class RenderPathLine : MonoBehaviour { public MoveAlongPath.PathSettingsData PathSettings; public MoveAlongPath.PlacementSettingsData PlacementSettings; [HideInInspector] public Transform arLocationRoot; [HideInInspector] public MoveAlongPath moveAlongPath; public void Start() { if (PathSettings.LineRenderer == null) { var lineRenderer = gameObject.GetComponent(); if (!lineRenderer) { throw new NullReferenceException("[AR+GPS][RenderPathLine#Start]: No Line Renderer!"); } PathSettings.LineRenderer = lineRenderer; } arLocationRoot = ARLocationManager.Instance.gameObject.transform; var pathGameObject = new GameObject($"{gameObject.name} - RenderPathLine"); moveAlongPath = pathGameObject.AddComponent(); moveAlongPath.PathSettings = PathSettings; moveAlongPath.PlacementSettings = PlacementSettings; } public void SetLocationPath(LocationPath path) { if (moveAlongPath != null) { moveAlongPath.SetLocationPath(path); } } } }