|
|
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
-
- [CustomEditor(typeof(OVRProjectConfig))]
- public class OVRProjectConfigEditor : Editor
- {
- override public void OnInspectorGUI()
- {
- OVRProjectConfig projectConfig = (OVRProjectConfig)target;
- DrawTargetDeviceInspector(projectConfig);
- EditorGUILayout.Space();
- DrawProjectConfigInspector(projectConfig);
- }
-
- public static void DrawTargetDeviceInspector(OVRProjectConfig projectConfig)
- {
- bool hasModified = false;
-
- // Target Devices
- EditorGUILayout.LabelField("Target Devices", EditorStyles.boldLabel);
-
- foreach (OVRProjectConfig.DeviceType deviceType in System.Enum.GetValues(typeof(OVRProjectConfig.DeviceType)))
- {
- bool oldSupportsDevice = projectConfig.targetDeviceTypes.Contains(deviceType);
- bool newSupportsDevice = oldSupportsDevice;
- OVREditorUtil.SetupBoolField(projectConfig, ObjectNames.NicifyVariableName(deviceType.ToString()), ref newSupportsDevice, ref hasModified);
-
- if (newSupportsDevice && !oldSupportsDevice)
- {
- projectConfig.targetDeviceTypes.Add(deviceType);
- }
- else if (oldSupportsDevice && !newSupportsDevice)
- {
- projectConfig.targetDeviceTypes.Remove(deviceType);
- }
- }
-
- if (hasModified)
- {
- OVRProjectConfig.CommitProjectConfig(projectConfig);
- }
- }
-
- public static void DrawProjectConfigInspector(OVRProjectConfig projectConfig)
- {
- bool hasModified = false;
- EditorGUI.BeginDisabledGroup(!projectConfig.targetDeviceTypes.Contains(OVRProjectConfig.DeviceType.Quest));
- EditorGUILayout.LabelField("Quest Features", EditorStyles.boldLabel);
-
- // Show overlay support option
- OVREditorUtil.SetupBoolField(projectConfig, new GUIContent("Focus Aware",
- "If checked, the new overlay will be displayed when the user presses the home button. The game will not be paused, but will now receive InputFocusLost and InputFocusAcquired events."),
- ref projectConfig.focusAware, ref hasModified);
-
- // Color Gamut selection
- OVREditorUtil.SetupEnumField(projectConfig, new GUIContent(
- "Color Gamut",
- "The target color gamut when displayed on the Oculus Quest. Quest default is Rec. 2020"),
- ref projectConfig.colorGamut, ref hasModified);
-
- // Hand Tracking Support
- OVREditorUtil.SetupEnumField(projectConfig, "Hand Tracking Support", ref projectConfig.handTrackingSupport, ref hasModified);
-
- EditorGUI.EndDisabledGroup();
- EditorGUILayout.Space();
-
- EditorGUILayout.LabelField("Security", EditorStyles.boldLabel);
- OVREditorUtil.SetupBoolField(projectConfig, "Disable Backups", ref projectConfig.disableBackups, ref hasModified);
- OVREditorUtil.SetupBoolField(projectConfig, "Enable NSC Configuration", ref projectConfig.enableNSCConfig, ref hasModified);
-
- // apply any pending changes to project config
- if (hasModified)
- {
- OVRProjectConfig.CommitProjectConfig(projectConfig);
- }
- }
- }
|