using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Pathfinding.Drawing { /// /// Inherit from this class to draw gizmos. /// See: getstarted (view in online documentation for working links) /// public abstract class MonoBehaviourGizmos : MonoBehaviour, IDrawGizmos { public MonoBehaviourGizmos() { #if UNITY_EDITOR DrawingManager.Register(this); #endif } /// /// An empty OnDrawGizmosSelected method. /// Why an empty OnDrawGizmosSelected method? /// This is because only objects with an OnDrawGizmos/OnDrawGizmosSelected method will show up in Unity's menu for enabling/disabling /// the gizmos per object type (upper right corner of the scene view). So we need it here even though we don't use normal gizmos. /// /// By using OnDrawGizmosSelected instead of OnDrawGizmos we minimize the overhead of Unity calling this empty method. /// void OnDrawGizmosSelected () { } /// /// Draw gizmos for this object. /// /// The gizmos will be visible in the scene view, and the game view, if gizmos have been enabled. /// /// This method will only be called in the Unity Editor. /// /// See: /// public virtual void DrawGizmos () { } } }