// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. #if GT_USE_URP using UnityEditor; using UnityEngine; namespace Microsoft.MixedReality.GraphicsTools.Editor { /// /// Custom inspector that helps with magnifier configuration. /// [CustomEditor(typeof(MagnifierManager))] public class MagnifierManagerInspector : UnityEditor.Editor { private SerializedProperty m_Script; private SerializedProperty renderObjectsSettings; private bool showRenderObjects = false; private void OnEnable() { m_Script = serializedObject.FindProperty(nameof(m_Script)); renderObjectsSettings = serializedObject.FindProperty(nameof(renderObjectsSettings)); } /// /// Renders a custom inspector GUI. /// public override void OnInspectorGUI() { using (var check = new EditorGUI.ChangeCheckScope()) { InspectorUtilities.DrawReadonlyPropertyField(m_Script); DrawPropertiesExcluding(serializedObject, nameof(m_Script), nameof(renderObjectsSettings)); showRenderObjects = EditorGUILayout.Foldout(showRenderObjects, "Render Objects Settings"); if (showRenderObjects) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(renderObjectsSettings); EditorGUI.indentLevel--; } if (check.changed) { MagnifierManager magnifier = target as MagnifierManager; if (magnifier != null) { magnifier.ApplyMagnification(); } serializedObject.ApplyModifiedProperties(); } } } } } #endif // GT_USE_URP