61 lines
2.3 KiB
C#
61 lines
2.3 KiB
C#
using UnityEditor;
|
|
|
|
using UnityEngine;
|
|
|
|
namespace Samples
|
|
{
|
|
/// <summary>
|
|
/// Simple custom editor used to show how to enable custom UI for XR Management
|
|
/// configuraton data.
|
|
/// </summary>
|
|
[CustomEditor(typeof(SampleSettings))]
|
|
public class SampleSettingsEditor : Editor
|
|
{
|
|
static string k_RequiresProperty = "m_RequiresItem";
|
|
static string k_RuntimeToggleProperty = "m_RuntimeToggle";
|
|
|
|
static GUIContent k_ShowBuildSettingsLabel = new GUIContent("Build Settings");
|
|
static GUIContent k_RequiresLabel = new GUIContent("Item Requirement");
|
|
|
|
static GUIContent k_ShowRuntimeSettingsLabel = new GUIContent("Runtime Settings");
|
|
static GUIContent k_RuntimeToggleLabel = new GUIContent("Should I stay or should I go?");
|
|
|
|
bool m_ShowBuildSettings = true;
|
|
bool m_ShowRuntimeSettings = true;
|
|
|
|
SerializedProperty m_RequiesItemProperty;
|
|
SerializedProperty m_RuntimeToggleProperty;
|
|
|
|
/// <summary>Override of Editor callback.</summary>
|
|
public override void OnInspectorGUI()
|
|
{
|
|
if (serializedObject == null || serializedObject.targetObject == null)
|
|
return;
|
|
|
|
if (m_RequiesItemProperty == null) m_RequiesItemProperty = serializedObject.FindProperty(k_RequiresProperty);
|
|
if (m_RuntimeToggleProperty == null) m_RuntimeToggleProperty = serializedObject.FindProperty(k_RuntimeToggleProperty);
|
|
|
|
serializedObject.Update();
|
|
m_ShowBuildSettings = EditorGUILayout.Foldout(m_ShowBuildSettings, k_ShowBuildSettingsLabel);
|
|
if (m_ShowBuildSettings)
|
|
{
|
|
EditorGUI.indentLevel++;
|
|
EditorGUILayout.PropertyField(m_RequiesItemProperty, k_RequiresLabel);
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
EditorGUILayout.Space();
|
|
|
|
m_ShowRuntimeSettings = EditorGUILayout.Foldout(m_ShowRuntimeSettings, k_ShowRuntimeSettingsLabel);
|
|
if (m_ShowRuntimeSettings)
|
|
{
|
|
EditorGUI.indentLevel++;
|
|
EditorGUILayout.PropertyField(m_RuntimeToggleProperty, k_RuntimeToggleLabel);
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
}
|