| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- using System;
 
- using UnityEngine;
 
- namespace EnhancedHierarchy {
 
-     public abstract class MiniLabelProvider {
 
-         private readonly GUIContent content = new GUIContent();
 
-         public static readonly Type[] MiniLabelsTypes = new [] {
 
-             null,
 
-             typeof(TagMiniLabel),
 
-             typeof(LayerMiniLabel),
 
-             typeof(SortingLayerMiniLabel)
 
-         };
 
-         public abstract void FillContent(GUIContent content);
 
-         public abstract bool Faded();
 
-         public abstract void OnClick();
 
-         public void Init() {
 
-             FillContent(content);
 
-         }
 
-         public bool HasValue() {
 
-             return content.text.Length > 0;
 
-         }
 
-         public virtual bool Draw(Rect rect, GUIContent content, GUIStyle style) {
 
-             return GUI.Button(rect, content, style);
 
-         }
 
-         public float Measure() {
 
-             var calculated = Styles.miniLabelStyle.CalcSize(content);
 
-             return calculated.x;
 
-         }
 
-         public void Draw(ref Rect rect) {
 
-             if (!HasValue())
 
-                 return;
 
-             var color = EnhancedHierarchy.CurrentColor;
 
-             var alpha = Faded() ? Styles.backgroundColorDisabled.a : Styles.backgroundColorEnabled.a;
 
-             var finalColor = color * new Color(1f, 1f, 1f, alpha);
 
-             using(ProfilerSample.Get())
 
-             using(new GUIContentColor(finalColor)) {
 
-                 Styles.miniLabelStyle.fontSize = Preferences.SmallerMiniLabel ? 8 : 9;
 
-                 rect.xMin -= Measure();
 
-                 if (Draw(rect, content, Styles.miniLabelStyle))
 
-                     OnClick();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |