Пример #1
0
 private static void LaunchBoseWearableDocumentation()
 {
     if (ProjectTools.IsLocalPdfDocumentationPresent())
     {
         ProjectTools.OpenLocalHelpDocumentation();
     }
     else
     {
         Application.OpenURL(DOCUMENTATION_LINK);
     }
 }
Пример #2
0
 private static void LaunchBoseWearableLicense()
 {
     if (ProjectTools.IsLocalLicensePresent())
     {
         ProjectTools.OpenLocalLicense();
     }
     else
     {
         Application.OpenURL(LICENSE_LINK);
     }
 }
Пример #3
0
        internal static void BuildWearableDemo()
        {
            // Check for player support
            if (!CanBuildTarget(EditorUserBuildSettings.activeBuildTarget))
            {
                Debug.LogErrorFormat(CANNOT_BUILD_ERROR_MESSAGE, WEARABLE_DEMO_PRODUCT_NAME, EditorUserBuildSettings.activeBuildTarget);
                return;
            }

            // Get folder path from the user for the build
            var folderPath = GetBuildLocation(WEARABLE_DEMO_PRODUCT_NAME);

            if (string.IsNullOrEmpty(folderPath))
            {
                return;
            }

            var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);

            // Cache values for the current Player Settings
            var originalProductName = PlayerSettings.productName;
            var bundleVersion       = PlayerSettings.bundleVersion;
            var appId     = PlayerSettings.GetApplicationIdentifier(buildTargetGroup);
            var iconGroup = PlayerSettings.GetIconsForTargetGroup(buildTargetGroup);

            var showSplash          = PlayerSettings.SplashScreen.show;
            var splashStyle         = PlayerSettings.SplashScreen.unityLogoStyle;
            var splashColor         = PlayerSettings.SplashScreen.backgroundColor;
            var splashAnimationMode = PlayerSettings.SplashScreen.animationMode;
            var splashDrawMode      = PlayerSettings.SplashScreen.drawMode;
            var splashLogos         = PlayerSettings.SplashScreen.logos;

            // Override Player Settings for this build.
            EditorBuildSettingsScene[] buildScenes;
            if (SetBuildSettingsForWearableDemo(out buildScenes))
            {
                var sceneAssetPaths = buildScenes.Where(x => x.enabled).Select(x => x.path).ToArray();

                // Attempt to build the app
                var buildPlayerOptions = new BuildPlayerOptions
                {
                    scenes           = sceneAssetPaths,
                    locationPathName = folderPath,
                    target           = EditorUserBuildSettings.activeBuildTarget
                };

                var buildReport = BuildPipeline.BuildPlayer(buildPlayerOptions);
                                #if UNITY_2018_1_OR_NEWER
                if (buildReport.summary.result == BuildResult.Succeeded)
                                #else
                if (string.IsNullOrEmpty(buildReport))
                                #endif
                {
                    Debug.LogFormat(BUILD_SUCCEEDED_MESSAGE, WEARABLE_DEMO_PRODUCT_NAME);

                    if (IsAutoShowBuildOnSuccessEnabled())
                    {
                        ProjectTools.OpenFolder(folderPath);
                    }
                }
                else
                {
                    Debug.LogFormat(BUILD_FAILED_MESSAGE, WEARABLE_DEMO_PRODUCT_NAME, buildReport);
                }
            }
            else
            {
                Debug.LogErrorFormat(BUILD_SCENES_COULD_NOT_BE_FOUND, WEARABLE_DEMO_PRODUCT_NAME);
            }

            // Reset all PlayerSetting changes back to their original values.
            PlayerSettings.productName   = originalProductName;
            PlayerSettings.bundleVersion = bundleVersion;
            PlayerSettings.SetApplicationIdentifier(buildTargetGroup, appId);
            PlayerSettings.SetIconsForTargetGroup(buildTargetGroup, iconGroup);

            PlayerSettings.SplashScreen.show            = showSplash;
            PlayerSettings.SplashScreen.unityLogoStyle  = splashStyle;
            PlayerSettings.SplashScreen.backgroundColor = splashColor;
            PlayerSettings.SplashScreen.animationMode   = splashAnimationMode;
            PlayerSettings.SplashScreen.drawMode        = splashDrawMode;
            PlayerSettings.SplashScreen.logos           = splashLogos;

            AssetDatabase.SaveAssets();
        }