private void ProcessSDK(VRTK_SDKManager sdkManager, VRTK_SDKManager.SupportedSDKs supportedSDK) { var system = sdkManager.systemSDK; var headset = sdkManager.headsetSDK; var controller = sdkManager.controllerSDK; var boundaries = sdkManager.boundariesSDK; var sdkDetails = sdkManager.sdkDetails[supportedSDK]; var defineSymbol = sdkDetails.defineSymbol; var prettyName = sdkDetails.prettyName; var checkType = sdkDetails.checkType; var message = "SDK has been selected but is not currently installed."; if ((!CheckSDKInstalled(prettyName + message, checkType, false) || (system != supportedSDK && headset != supportedSDK && controller != supportedSDK && boundaries != supportedSDK)) && sdkManager.autoManageScriptDefines) { RemoveScriptingDefineSymbol(defineSymbol); } if (system == supportedSDK || headset == supportedSDK || controller == supportedSDK || boundaries == supportedSDK) { if (CheckSDKInstalled(prettyName + message, checkType, true) && sdkManager.autoManageScriptDefines) { AddScriptingDefineSymbol(defineSymbol); } } if (sdkManager.autoManageScriptDefines) { CheckAvatarSupport(supportedSDK); } }
private void QuickSelectSDK(VRTK_SDKManager.SupportedSDKs sdk) { VRTK_SDKManager sdkManager = (VRTK_SDKManager)target; sdkManager.systemSDK = sdk; sdkManager.boundariesSDK = sdk; sdkManager.headsetSDK = sdk; sdkManager.controllerSDK = sdk; }
public override void OnInspectorGUI() { serializedObject.Update(); //Get actual inspector VRTK_SDKManager sdkManager = (VRTK_SDKManager)target; EditorGUILayout.BeginVertical("Box"); EditorGUILayout.PropertyField(serializedObject.FindProperty("persistOnLoad")); EditorGUILayout.PropertyField(serializedObject.FindProperty("autoManageScriptDefines")); sdkManager.systemSDK = (VRTK_SDKManager.SupportedSDKs)EditorGUILayout.EnumPopup(VRTK_EditorUtilities.BuildGUIContent <VRTK_SDKManager>("systemSDK"), sdkManager.systemSDK); sdkManager.boundariesSDK = (VRTK_SDKManager.SupportedSDKs)EditorGUILayout.EnumPopup(VRTK_EditorUtilities.BuildGUIContent <VRTK_SDKManager>("boundariesSDK"), sdkManager.boundariesSDK); sdkManager.headsetSDK = (VRTK_SDKManager.SupportedSDKs)EditorGUILayout.EnumPopup(VRTK_EditorUtilities.BuildGUIContent <VRTK_SDKManager>("headsetSDK"), sdkManager.headsetSDK); sdkManager.controllerSDK = (VRTK_SDKManager.SupportedSDKs)EditorGUILayout.EnumPopup(VRTK_EditorUtilities.BuildGUIContent <VRTK_SDKManager>("controllerSDK"), sdkManager.controllerSDK); EditorGUILayout.Space(); quicklySelectedSDK = (VRTK_SDKManager.SupportedSDKs)EditorGUILayout.EnumPopup(new GUIContent("Quick select SDK", "Quickly select one of the SDKs into all slots."), quicklySelectedSDK); if (quicklySelectedSDK != VRTK_SDKManager.SupportedSDKs.None) { QuickSelectSDK(quicklySelectedSDK); quicklySelectedSDK = VRTK_SDKManager.SupportedSDKs.None; } CheckSDKUsage(sdkManager); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("Box"); EditorGUILayout.PropertyField(serializedObject.FindProperty("actualBoundaries")); EditorGUILayout.PropertyField(serializedObject.FindProperty("actualHeadset")); EditorGUILayout.PropertyField(serializedObject.FindProperty("actualLeftController")); EditorGUILayout.PropertyField(serializedObject.FindProperty("actualRightController")); EditorGUILayout.PropertyField(serializedObject.FindProperty("modelAliasLeftController")); EditorGUILayout.PropertyField(serializedObject.FindProperty("modelAliasRightController")); EditorGUILayout.PropertyField(serializedObject.FindProperty("scriptAliasLeftController")); EditorGUILayout.PropertyField(serializedObject.FindProperty("scriptAliasRightController")); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("Box"); EditorGUILayout.Space(); if (GUILayout.Button("Auto Populate Linked Objects")) { AutoPopulate(sdkManager); } EditorGUILayout.Space(); EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); }
private void CheckAvatarSupport(VRTK_SDKManager.SupportedSDKs sdk) { switch (sdk) { case VRTK_SDKManager.SupportedSDKs.OculusVR: var defineSymbol = "VRTK_SDK_OCULUSVR_AVATAR"; if (TypeExists("OvrAvatar")) { AddScriptingDefineSymbol(defineSymbol); } else { RemoveScriptingDefineSymbol(defineSymbol); } break; } }
private void ProcessSDK(VRTK_SDKManager.SupportedSDKs sdk, string defineSymbol, string name, string checkType, VRTK_SDKManager.SupportedSDKs system, VRTK_SDKManager.SupportedSDKs headset, VRTK_SDKManager.SupportedSDKs controller, VRTK_SDKManager.SupportedSDKs boundaries) { var message = "SDK has been selected but is not currently installed."; if (!CheckSDKInstalled(name + message, checkType, false) || (system != sdk && headset != sdk && controller != sdk && boundaries != sdk)) { RemoveScriptingDefineSymbol(defineSymbol); } if (system == sdk || headset == sdk || controller == sdk || boundaries == sdk) { if (CheckSDKInstalled(name + message, checkType, true)) { AddScriptingDefineSymbol(defineSymbol); } } CheckAvatarSupport(sdk); }
private void CheckSDKUsage(VRTK_SDKManager.SupportedSDKs system, VRTK_SDKManager.SupportedSDKs headset, VRTK_SDKManager.SupportedSDKs controller, VRTK_SDKManager.SupportedSDKs boundaries) { var message = "SDK has been selected but is not currently installed."; //STEAMVR START CHECKS if (!CheckSDKInstalled("SteamVR " + message, "SteamVR") || (system != VRTK_SDKManager.SupportedSDKs.SteamVR && headset != VRTK_SDKManager.SupportedSDKs.SteamVR && controller != VRTK_SDKManager.SupportedSDKs.SteamVR && boundaries != VRTK_SDKManager.SupportedSDKs.SteamVR)) { RemoveScriptingDefineSymbol("VRTK_SDK_STEAMVR"); } if (system == VRTK_SDKManager.SupportedSDKs.SteamVR || headset == VRTK_SDKManager.SupportedSDKs.SteamVR || controller == VRTK_SDKManager.SupportedSDKs.SteamVR || boundaries == VRTK_SDKManager.SupportedSDKs.SteamVR) { if (CheckSDKInstalled("SteamVR " + message, "SteamVR")) { AddScriptingDefineSymbol("VRTK_SDK_STEAMVR"); } } //STEAMVR END CHECKS }
private void CheckSDKUsage(VRTK_SDKManager.SupportedSDKs system, VRTK_SDKManager.SupportedSDKs headset, VRTK_SDKManager.SupportedSDKs controller, VRTK_SDKManager.SupportedSDKs boundaries) { ProcessSDK(VRTK_SDKManager.SupportedSDKs.SteamVR, "VRTK_SDK_STEAMVR", "SteamVR", "SteamVR", system, headset, controller, boundaries); ProcessSDK(VRTK_SDKManager.SupportedSDKs.OculusVR, "VRTK_SDK_OCULUSVR", "OculusVR", "OVRInput", system, headset, controller, boundaries); }