using System; using System.Collections.Generic; using RPGCore.Core; using UnityEngine; namespace RPGCore.SceneModules.PathVisualizerSceneModule { [Serializable] public class PathVisualizerModule : SceneModule { // Configuration [SerializeField] private float _defaultAutoUpdateTime = 0.1f; [SerializeField] private float _defaultLineSize = 0.05f; [SerializeField] private float _defaultVerticalOffset = 0.1f; [SerializeField] private Material _defaultMaterial; // References internal List pathVisualizers = new(); public PathVisualizer Create() { var gameObject = new GameObject("PathVisualizer"); gameObject.transform.parent = this.gameObject.transform; var pathVisualizer = gameObject.AddComponent(); pathVisualizers.Add(pathVisualizer); pathVisualizer.autoUpdateTime = _defaultAutoUpdateTime; pathVisualizer.lineSize = _defaultLineSize; pathVisualizer.verticalOffset = _defaultVerticalOffset; pathVisualizer.material = _defaultMaterial; return pathVisualizer; } } }