You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.0 KiB
71 lines
2.0 KiB
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")) |
|
{ |
|
ObjectFactory.AddComponent<StandaloneInputModule>(eventSystem.gameObject); |
|
Undo.RegisterCreatedObjectUndo(eventSystem.gameObject, "Add StandaloneInputModule"); |
|
} |
|
} |
|
|
|
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); |
|
} |
|
} |
|
}
|
|
|