using System; using UnityEngine; using UnityEditor; namespace Framework.Selection { /// /// Assists the user in editing ground definitions for the navigation system /// [CustomEditor(typeof(SelectionTracker), true)] public class SelectionTrackerEditor : Editor { /// Called when Unity wants to layout or draw the inspector public override void OnInspectorGUI() { base.OnInspectorGUI(); if(Application.isPlaying) { var tracker = target as SelectionTracker; GUILayout.Label("Selected items: " + tracker.SelectedObjects.Count.ToString()); using(new EditorGUILayout.VerticalScope()) { int index = 0; foreach(Selectable selectable in tracker.SelectedObjects) { ++index; if(index > 3) { break; } GUILayout.Label(((Component) selectable).name); } } GUILayout.Label("Highlighted items: " + tracker.HighlightedObjects.Count.ToString()); using(new EditorGUILayout.VerticalScope()) { int index = 0; foreach(Selectable selectable in tracker.HighlightedObjects) { ++index; if(index > 3) { break; } GUILayout.Label(((Component) selectable).name); } } } } } } // namespace Framework.Selection