1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using UnityEngine;
- using UnityEngine.EventSystems;
-
- namespace UnityEditor.EventSystems
- {
- [CustomEditor(typeof(EventSystem), true)]
- /// <summary>
- /// Custom Editor for the EventSystem Component.
- /// Extend this class to write a custom editor for a component derived from EventSystem.
- /// </summary>
- public class EventSystemEditor : Editor
- {
- public override void OnInspectorGUI()
- {
- DrawDefaultInspector();
-
- var eventSystem = target as EventSystem;
- if (eventSystem == null)
- return;
-
- if (eventSystem.GetComponent<BaseInputModule>() != null)
- return;
-
- // no input modules :(
- if (GUILayout.Button("Add Default Input Modules"))
- {
- InputModuleComponentFactory.AddInputModule(eventSystem.gameObject);
- Undo.RegisterCreatedObjectUndo(eventSystem.gameObject, "Add Default Input Modules");
- }
- }
-
- public override bool HasPreviewGUI()
- {
- return Application.isPlaying;
- }
-
- private GUIStyle m_PreviewLabelStyle;
-
- protected GUIStyle previewLabelStyle
- {
- get
- {
- if (m_PreviewLabelStyle == null)
- {
- m_PreviewLabelStyle = new GUIStyle("PreOverlayLabel")
- {
- richText = true,
- alignment = TextAnchor.UpperLeft,
- fontStyle = FontStyle.Normal
- };
- }
-
- return m_PreviewLabelStyle;
- }
- }
-
- public override bool RequiresConstantRepaint()
- {
- return Application.isPlaying;
- }
-
- public override void OnPreviewGUI(Rect rect, GUIStyle background)
- {
- var system = target as EventSystem;
- if (system == null)
- return;
-
- GUI.Label(rect, system.ToString(), previewLabelStyle);
- }
- }
- }
|