Esempio n. 1
0
        private void EnableSteamVRInputSupport()
        {
            if (IsNeedSteamVRInputSupport())
            {
                string inputFileDirectoryPath = @"Assets\ViveSR_Experience\Input\";

                if (!Directory.Exists(steamVRStreamingFileDirectoryPath))
                {
                    Directory.CreateDirectory(steamVRStreamingFileDirectoryPath);
                }

                foreach (string str in FileNames)
                {
                    if (File.Exists(inputFileDirectoryPath + str))
                    {
                        if (File.Exists(steamVRStreamingFileDirectoryPath + str))
                        {
                            FileUtil.DeleteFileOrDirectory(steamVRStreamingFileDirectoryPath + str);
                        }
                        FileUtil.CopyFileOrDirectory(inputFileDirectoryPath + str, steamVRStreamingFileDirectoryPath + str);
                    }
                    else
                    {
                        Debug.Log("'" + inputFileDirectoryPath + str + "' not found.");
                    }
                }

                SteamVR_Input_Generator.BeginGeneration();
            }
        }
Esempio n. 2
0
            private void Merge(bool value)
            {
                if (!value)
                {
                    return;
                }

                if (!Directory.Exists(m_mainDirPath))
                {
                    Directory.CreateDirectory(m_mainDirPath);
                }

                VIUSteamVRActionFile mainFile;
                VIUSteamVRActionFile exampleFile;
                VIUSteamVRActionFile partialFile;

                if (SteamVR_Input.actionFile != null)
                {
                    EditorWindow.GetWindow <SteamVR_Input_EditorWindow>(false, "SteamVR Input", true).Close();
                }

                if (!VIUSteamVRActionFile.TryLoad(m_partialDirPath, m_partialFileName, out partialFile))
                {
                    return;
                }

                VIUSteamVRActionFile.TryLoad(m_mainDirPath, mainFileName, out mainFile);
                VIUSteamVRActionFile.TryLoad(exampleDirPath, mainFileName, out exampleFile);

                if (exampleFile != null && (mainFile == null || !mainFile.IsMerged(exampleFile)))
                {
                    if (EditorUtility.DisplayDialog("Import SteamVR Example Inputs", "Would you also like to import SteamVR Example Input File? Click yes if you want SteamVR plugin example scene to work.", "Yes", "No"))
                    {
                        if (mainFile == null)
                        {
                            mainFile = exampleFile;
                        }
                        else
                        {
                            mainFile.Merge(exampleFile);
                        }

                        EditorPrefs.SetBool(SteamVR_CopyExampleInputFiles.steamVRInputExampleJSONCopiedKey, true);
                    }
                }

                mainFile.Merge(partialFile);
                mainFile.Save(m_mainDirPath);

                m_mainFileVersion = m_partialFileVersion = default(DateTime);

                EditorApplication.delayCall += () =>
                {
                    EditorWindow.GetWindow <SteamVR_Input_EditorWindow>(false, "SteamVR Input", true);
                    SteamVR_Input_Generator.BeginGeneration();
                };
            }