1234567891011121314151617181920212223242526272829303132333435363738 |
- using UnityEngine;
- using UnityEngine.UI;
-
- namespace UnityEditor.UI
- {
- /// <summary>
- /// Base class for custom editors that are for components that implement the SelfControllerEditor interface.
- /// </summary>
- public class SelfControllerEditor : Editor
- {
- static string s_Warning = "Parent has a type of layout group component. A child of a layout group should not have a {0} component, since it should be driven by the layout group.";
-
- public override void OnInspectorGUI()
- {
- bool anyHaveLayoutParent = false;
- for (int i = 0; i < targets.Length; i++)
- {
- Component comp = (targets[i] as Component);
- ILayoutIgnorer ignorer = comp.GetComponent(typeof(ILayoutIgnorer)) as ILayoutIgnorer;
- if (ignorer != null && ignorer.ignoreLayout)
- continue;
-
- RectTransform parent = comp.transform.parent as RectTransform;
- if (parent != null)
- {
- Behaviour layoutGroup = parent.GetComponent(typeof(ILayoutGroup)) as Behaviour;
- if (layoutGroup != null && layoutGroup.enabled)
- {
- anyHaveLayoutParent = true;
- break;
- }
- }
- }
- if (anyHaveLayoutParent)
- EditorGUILayout.HelpBox(string.Format(s_Warning, ObjectNames.NicifyVariableName(target.GetType().Name)), MessageType.Warning);
- }
- }
- }
|