public override void OnInspectorGUI() { base.OnInspectorGUI(); GUI.changed = false; Pvr_UnitySDKEye sdkeye = (Pvr_UnitySDKEye)target; eFoveationLevel lastlevel = sdkeye.foveationLevel; eFoveationLevel newlevel = (eFoveationLevel)EditorGUILayout.EnumPopup("Foveation Level", sdkeye.foveationLevel); if (lastlevel != newlevel) { sdkeye.foveationLevel = newlevel; switch (sdkeye.foveationLevel) { case eFoveationLevel.None: sdkeye.FoveationGainValue = Vector2.zero; sdkeye.FoveationAreaValue = 0.0f; sdkeye.FoveationMinimumValue = 0.0f; break; case eFoveationLevel.Low: sdkeye.FoveationGainValue = new Vector2(2.0f, 2.0f); sdkeye.FoveationAreaValue = 0.0f; sdkeye.FoveationMinimumValue = 0.125f; break; case eFoveationLevel.Med: sdkeye.FoveationGainValue = new Vector2(3.0f, 3.0f); sdkeye.FoveationAreaValue = 1.0f; sdkeye.FoveationMinimumValue = 0.125f; break; case eFoveationLevel.High: sdkeye.FoveationGainValue = new Vector2(4.0f, 4.0f); sdkeye.FoveationAreaValue = 2.0f; sdkeye.FoveationMinimumValue = 0.125f; break; } } sdkeye.FoveationGainValue = EditorGUILayout.Vector2Field("Foveation Gain Value", sdkeye.FoveationGainValue); sdkeye.FoveationAreaValue = EditorGUILayout.FloatField("Foveation Area Value", sdkeye.FoveationAreaValue); sdkeye.FoveationMinimumValue = EditorGUILayout.FloatField("Foveation Minimum Value", sdkeye.FoveationMinimumValue); EditorUtility.SetDirty(sdkeye); if (GUI.changed) { #if !UNITY_5_2 UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager .GetActiveScene()); #endif } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); GUI.changed = false; GUIStyle firstLevelStyle = new GUIStyle(GUI.skin.label); firstLevelStyle.alignment = TextAnchor.UpperLeft; firstLevelStyle.fontStyle = FontStyle.Bold; firstLevelStyle.fontSize = 12; firstLevelStyle.wordWrap = true; Pvr_UnitySDKEyeManager sdkEyeManager = (Pvr_UnitySDKEyeManager)target; sdkEyeManager.trackEyes = EditorGUILayout.Toggle("Track Eyes", sdkEyeManager.trackEyes); if (sdkEyeManager.trackEyes) { EditorGUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Note:", firstLevelStyle); EditorGUILayout.LabelField("EyeTracking is supported only on the Neo2 Pro"); EditorGUILayout.EndVertical(); } eFoveationLevel lastlevel = sdkEyeManager.foveationLevel; eFoveationLevel newlevel = (eFoveationLevel)EditorGUILayout.EnumPopup("Foveation Level", sdkEyeManager.foveationLevel); if (lastlevel != newlevel) { sdkEyeManager.foveationLevel = newlevel; switch (sdkEyeManager.foveationLevel) { case eFoveationLevel.None: sdkEyeManager.FoveationGainValue = Vector2.zero; sdkEyeManager.FoveationAreaValue = 0.0f; sdkEyeManager.FoveationMinimumValue = 0.0f; break; case eFoveationLevel.Low: sdkEyeManager.FoveationGainValue = new Vector2(2.0f, 2.0f); sdkEyeManager.FoveationAreaValue = 0.0f; sdkEyeManager.FoveationMinimumValue = 0.125f; break; case eFoveationLevel.Med: sdkEyeManager.FoveationGainValue = new Vector2(3.0f, 3.0f); sdkEyeManager.FoveationAreaValue = 1.0f; sdkEyeManager.FoveationMinimumValue = 0.125f; break; case eFoveationLevel.High: sdkEyeManager.FoveationGainValue = new Vector2(4.0f, 4.0f); sdkEyeManager.FoveationAreaValue = 2.0f; sdkEyeManager.FoveationMinimumValue = 0.125f; break; } } sdkEyeManager.FoveationGainValue = EditorGUILayout.Vector2Field("Foveation Gain Value", sdkEyeManager.FoveationGainValue); sdkEyeManager.FoveationAreaValue = EditorGUILayout.FloatField("Foveation Area Value", sdkEyeManager.FoveationAreaValue); sdkEyeManager.FoveationMinimumValue = EditorGUILayout.FloatField("Foveation Minimum Value", sdkEyeManager.FoveationMinimumValue); EditorUtility.SetDirty(sdkEyeManager); if (GUI.changed) { #if !UNITY_5_2 UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager .GetActiveScene()); #endif } }