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);
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
        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();
        }
Пример #4
0
 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;
     }
 }
Пример #5
0
        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);
        }
Пример #6
0
        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
        }
Пример #7
0
 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);
 }