// Copyright 2016 Google Inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. namespace GoogleVR.Demos { using UnityEngine; using UnityEditor; [CustomEditor(typeof(DemoInputManager))] public class DemoInputManagerEditor : Editor { SerializedProperty emulatedPlatformTypeProp; SerializedProperty gvrControllerMainProp; SerializedProperty gvrControllerPointerProp; SerializedProperty gvrReticlePointerProp; void OnEnable () { gvrControllerMainProp = serializedObject.FindProperty(DemoInputManager.CONTROLLER_MAIN_PROP_NAME); gvrControllerPointerProp = serializedObject.FindProperty(DemoInputManager.CONTROLLER_POINTER_PROP_NAME); gvrReticlePointerProp = serializedObject.FindProperty(DemoInputManager.RETICLE_POINTER_PROP_NAME); emulatedPlatformTypeProp = serializedObject.FindProperty(DemoInputManager.EMULATED_PLATFORM_PROP_NAME); } public override void OnInspectorGUI() { serializedObject.Update(); // Add clickable script field, as would have been provided by DrawDefaultInspector() MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); EditorGUI.BeginDisabledGroup (true); EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); EditorGUI.EndDisabledGroup (); EditorGUILayout.PropertyField(gvrControllerMainProp); EditorGUILayout.PropertyField(gvrControllerPointerProp, true); EditorGUILayout.PropertyField(gvrReticlePointerProp); if (DemoInputManager.playerSettingsHasCardboard() == DemoInputManager.playerSettingsHasDaydream()) { // Show the platform emulation dropdown only if both or neither VR SDK selected in // Player Settings > Virtual Reality supported, EditorGUILayout.PropertyField(emulatedPlatformTypeProp); } serializedObject.ApplyModifiedProperties(); } } }