LayerMiniLabel.cs 986 B

12345678910111213141516171819202122232425262728293031
  1. using UnityEditor;
  2. using UnityEngine;
  3. namespace EnhancedHierarchy {
  4. public class LayerMiniLabel : MiniLabelProvider {
  5. public override void FillContent(GUIContent content) {
  6. content.text = EnhancedHierarchy.HasLayer ?
  7. LayerMask.LayerToName(EnhancedHierarchy.CurrentGameObject.layer) :
  8. string.Empty;
  9. }
  10. public override bool Faded() {
  11. return EnhancedHierarchy.CurrentGameObject.layer == EnhancedHierarchy.UNLAYERED;
  12. }
  13. public override bool Draw(Rect rect, GUIContent content, GUIStyle style) {
  14. GUI.changed = false;
  15. var layer = EditorGUI.LayerField(rect, EnhancedHierarchy.CurrentGameObject.layer, Styles.miniLabelStyle);
  16. if (GUI.changed)
  17. Icons.Layer.ChangeLayerAndAskForChildren(EnhancedHierarchy.GetSelectedObjectsAndCurrent(), layer);
  18. return GUI.changed;
  19. }
  20. public override void OnClick() { }
  21. }
  22. }