private void HandleButtonClick(SDKSetup setup)
        {
            UnityAction <Scene, LoadSceneMode> onSceneLoaded = null;

            onSceneLoaded = (scene, loadMode) =>
            {
                if (scene.name != setup.SceneToLoad)
                {
                    return;
                }

                SceneManager.sceneLoaded -= onSceneLoaded;

                SDKManager.PopulateObjectReferences(true);
                SDKManager.gameObject.SetActive(true);

                Destroy(gameObject);

                SDKWasChosen.Invoke();
            };
            SceneManager.sceneLoaded += onSceneLoaded;

            SDKManager.autoPopulateObjectReferences = false;

            Func <VRTK_SDKInfo, bool> predicate = info => info.description.prettyName == setup.PrettyName;

            SDKManager.systemSDKInfo     = VRTK_SDKManager.InstalledSystemSDKInfos.First(predicate);
            SDKManager.boundariesSDKInfo = VRTK_SDKManager.InstalledBoundariesSDKInfos.First(predicate);
            SDKManager.headsetSDKInfo    = VRTK_SDKManager.InstalledHeadsetSDKInfos.First(predicate);
            SDKManager.controllerSDKInfo = VRTK_SDKManager.InstalledControllerSDKInfos.First(predicate);

            VRSettings.LoadDeviceByName(setup.VRDeviceNameToLoad);
            StartCoroutine(LoadSceneAfterFrameDelay(setup));
        }
        private static IEnumerator LoadSceneAfterFrameDelay(SDKSetup setup)
        {
            yield return(null);

            SceneManager.LoadScene(
                setup.SceneToLoad,
                LoadSceneMode.Additive
                );
        }
Example #3
0
        private IEnumerator LoadSceneAfterFrameDelay(SDKSetup setup)
        {
            yield return(null);

            if (!string.IsNullOrEmpty(setup.VRDeviceNameToLoad))
            {
                VRSettings.enabled = true;
                GetComponent <Canvas>().enabled = false;
            }

            SceneManager.LoadScene(
                setup.SceneToLoad,
                LoadSceneMode.Additive
                );
        }