private static void PrepareBuildSettings()
    {
        currentResolutionDialogSetting         = PlayerSettings.displayResolutionDialog;
        PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;

        EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows64);
    }
        // Returns true, if everything is done:
        private bool ManageDisplayResolutionDialog()
        {
            bool allDone = true;

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("Display Resolution Dialog", "Hide the Resolution Dialog by default. It can still be displayed by holding Shift at the start of the application."), EditorStyles.label, GUILayout.MaxWidth(_leftLabelMaxWidth));

            ResolutionDialogSetting dialogSetting = PlayerSettings.displayResolutionDialog;

            if (dialogSetting != ResolutionDialogSetting.HiddenByDefault)
            {
                allDone = false;

                if (GUILayout.Button("Hide by Default"))
                {
                    HideDisplayResolutionDialog();
                }
            }
            else
            {
                EditorGUILayout.LabelField("(Is hidden)");
            }

            EditorGUILayout.EndHorizontal();

            return(allDone);
        }
예제 #3
0
        private void SetupProjectParameters()
        {
            EditorApplication.LockReloadAssemblies();

            m_EditorBuildSettings = EditorBuildSettings.scenes;

#pragma warning disable 618
            m_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
#pragma warning restore 618

            m_RunInBackground = PlayerSettings.runInBackground;
            PlayerSettings.runInBackground = true;

            m_FullScreenMode = PlayerSettings.fullScreenMode;
            PlayerSettings.fullScreenMode = FullScreenMode.Windowed;

            m_OldAotOptions           = PlayerSettings.aotOptions;
            PlayerSettings.aotOptions = "nimt-trampolines=1024";

            m_ResizableWindow = PlayerSettings.resizableWindow;
            PlayerSettings.resizableWindow = true;

            m_ShowUnitySplashScreen          = PlayerSettings.SplashScreen.show;
            PlayerSettings.SplashScreen.show = false;

#pragma warning disable 618
            m_OldLightmapping           = Lightmapping.giWorkflowMode;
            Lightmapping.giWorkflowMode = Lightmapping.GIWorkflowMode.OnDemand;
#pragma warning restore 618

            m_explicitNullChecks = EditorUserBuildSettings.explicitNullChecks;
            EditorUserBuildSettings.explicitNullChecks = true;
        }
 public ApplicationData(TDWScene[] scenes, int screenWidth, int screenHeight,
                        ResolutionDialogSetting resolutionDialogSetting)
 {
     scenePaths                   = scenes.Select(s => ScenePaths[s]).ToArray();
     this.screenWidth             = screenWidth;
     this.screenHeight            = screenHeight;
     this.resolutionDialogSetting = resolutionDialogSetting;
 }
예제 #5
0
        public static void Windows()
        {
            string buildPath = string.Concat(buildsPath, "Windows/", PlayerSettings.productName, ".exe");

            const BuildTarget             buildTarget             = BuildTarget.StandaloneWindows; //x86
            const BuildOptions            buildOptions            = BuildOptions.ShowBuiltPlayer;
            const ResolutionDialogSetting resolutionDialogSetting = ResolutionDialogSetting.HiddenByDefault;

            Build("Windows (x86)", buildPath, buildTarget, buildOptions, resolutionDialogSetting);
        }
예제 #6
0
        public static void WindowsDevelopmentBuild()
        {
            string buildPath = string.Concat(buildsPath, "Development Build/", PlayerSettings.productName, ".exe");

            const BuildTarget  buildTarget  = BuildTarget.StandaloneWindows; //x86
            const BuildOptions buildOptions = BuildOptions.ShowBuiltPlayer
                                              | BuildOptions.AllowDebugging
                                              | BuildOptions.Development;
            const ResolutionDialogSetting resolutionDialogSetting = ResolutionDialogSetting.Enabled;

            Build("Windows (x86) [Development]", buildPath, buildTarget, buildOptions, resolutionDialogSetting);
        }
예제 #7
0
    public void InitPlayerSettings()
    {
#if UNITY_EDITOR
        productName = PlayerSettings.productName;
        companyName = PlayerSettings.companyName;

#if UNITY_STANDALONE_WIN
        runInBackground = PlayerSettings.runInBackground;
        dialogSetting   = PlayerSettings.displayResolutionDialog;
#endif
#endif
    }
		public void ChangeSettingsForIntegrationTests ()
		{
			displayResolutionDialog = PlayerSettings.displayResolutionDialog;
			PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;

			runInBackground = PlayerSettings.runInBackground;
			PlayerSettings.runInBackground = true;

			fullScreen = PlayerSettings.defaultIsFullScreen;
			PlayerSettings.defaultIsFullScreen = false;

			resizableWindow = PlayerSettings.resizableWindow;
			PlayerSettings.resizableWindow = true;
		}
 private void SetupProjectParameters()
 {
     this.m_ApplicationRunInBackground = Application.runInBackground;
     Application.runInBackground = true;
     this.m_EditorBuildSettings = EditorBuildSettings.scenes;
     this.m_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
     PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
     this.m_RunInBackground = PlayerSettings.runInBackground;
     PlayerSettings.runInBackground = true;
     this.m_FullScreen = PlayerSettings.defaultIsFullScreen;
     PlayerSettings.defaultIsFullScreen = false;
     this.m_ResizableWindow = PlayerSettings.resizableWindow;
     PlayerSettings.resizableWindow = true;
 }
        public void ChangeSettingsForIntegrationTests()
        {
            m_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;

            m_RunInBackground = PlayerSettings.runInBackground;
            PlayerSettings.runInBackground = true;

            m_FullScreen = PlayerSettings.defaultIsFullScreen;
            PlayerSettings.defaultIsFullScreen = false;

            m_ResizableWindow = PlayerSettings.resizableWindow;
            PlayerSettings.resizableWindow = true;
        }
예제 #11
0
 private void SetupProjectParameters()
 {
     this.m_ApplicationRunInBackground      = Application.runInBackground;
     Application.runInBackground            = true;
     this.m_EditorBuildSettings             = EditorBuildSettings.scenes;
     this.m_DisplayResolutionDialog         = PlayerSettings.displayResolutionDialog;
     PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
     this.m_RunInBackground         = PlayerSettings.runInBackground;
     PlayerSettings.runInBackground = true;
     this.m_FullScreen = PlayerSettings.defaultIsFullScreen;
     PlayerSettings.defaultIsFullScreen = false;
     this.m_ResizableWindow             = PlayerSettings.resizableWindow;
     PlayerSettings.resizableWindow     = true;
 }
예제 #12
0
        /*************************************************************************************************
        *** Windows
        *************************************************************************************************/
        public static void Production(Version version)
        {
            string buildPath = string.Concat(buildsPath, "Production/");

            const BuildTarget             buildTarget             = BuildTarget.StandaloneWindows; //x86
            const BuildOptions            buildOptions            = BuildOptions.ShowBuiltPlayer;
            const ResolutionDialogSetting resolutionDialogSetting = ResolutionDialogSetting.HiddenByDefault;

            BuildReport buildReport = Build("Production (x86)", string.Concat(buildPath, PlayerSettings.productName, ".exe"), buildTarget, buildOptions, resolutionDialogSetting);

            if (buildReport.summary.result == BuildResult.Succeeded)
            {
                string json = JsonUtility.ToJson(version, true);
                System.IO.File.WriteAllText(string.Concat(buildPath, "Version.json"), json);
            }
        }
예제 #13
0
        /*************************************************************************************************
        *** Build
        *************************************************************************************************/
        private static BuildReport Build(string buildName, string buildPath, BuildTarget buildTarget, BuildOptions buildOptions, ResolutionDialogSetting resolutionDialogSetting)
        {
            if (Scenes.Length < 1)
            {
                Debug.Log(string.Concat(name, "There are no scenes to build. Check your build settings!"));
                return(null);
            }

            Debug.Log(string.Concat(name, "Building <", buildName, ">"));

            // Kill game task
            new System.Diagnostics.Process
            {
                StartInfo = new System.Diagnostics.ProcessStartInfo
                {
                    WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
                    FileName    = "CMD.exe",
                    Arguments   = string.Concat("/C taskkill /t /f /im ", PlayerSettings.productName, ".exe")
                }
            }.Start();

            // Delete previous build
            FileUtil.DeleteFileOrDirectory(buildPath.Substring(0, buildPath.LastIndexOf('/')));

            // Setup
            ResolutionDialogSetting currentResolutionDialogSetting = PlayerSettings.displayResolutionDialog;

            PlayerSettings.displayResolutionDialog = resolutionDialogSetting;

            // Build
            BuildReport result = BuildPipeline.BuildPlayer(Scenes, buildPath, buildTarget, buildOptions);

            Debug.Log(string.Concat(name
                                    , "Build completed with a result of '", result.summary.result, "'"
                                    , "\nTotal size = ", (result.summary.totalSize * 0.000001).ToString("0.00"), " MB"
                                    , "\nPath = ", result.summary.outputPath
                                    , "\nTotal time = ", result.summary.totalTime
                                    , "\nStarted at = ", result.summary.buildStartedAt
                                    , "\nEnded at = ", result.summary.buildEndedAt
                                    ));

            PlayerSettings.displayResolutionDialog = currentResolutionDialogSetting;

            return(result);
        }
예제 #14
0
        internal static void Build()
        {
            string[] array = new string[EditorBuildSettings.scenes.Length];
            int      num   = 0;

            for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
            {
                if (EditorBuildSettings.scenes[i].enabled)
                {
                    array[num] = EditorBuildSettings.scenes[i].path;
                    num++;
                }
            }
            Array.Resize <string>(ref array, num);
            Directory.CreateDirectory("Temp/NScreen");
            ResolutionDialogSetting displayResolutionDialog = PlayerSettings.displayResolutionDialog;
            bool runInBackground     = PlayerSettings.runInBackground;
            bool defaultIsFullScreen = PlayerSettings.defaultIsFullScreen;

            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
            PlayerSettings.runInBackground         = true;
            PlayerSettings.defaultIsFullScreen     = false;
            try
            {
                BuildPlayerOptions buildPlayerOptions = default(BuildPlayerOptions);
                buildPlayerOptions.scenes           = array;
                buildPlayerOptions.options          = BuildOptions.None;
                buildPlayerOptions.locationPathName = "Temp/NScreen/NScreen.app";
                if (IntPtr.Size == 4)
                {
                    buildPlayerOptions.target = BuildTarget.StandaloneOSXIntel;
                }
                else
                {
                    buildPlayerOptions.target = BuildTarget.StandaloneOSXIntel64;
                }
                BuildPipeline.BuildPlayer(buildPlayerOptions);
            }
            finally
            {
                PlayerSettings.displayResolutionDialog = displayResolutionDialog;
                PlayerSettings.runInBackground         = runInBackground;
                PlayerSettings.defaultIsFullScreen     = defaultIsFullScreen;
            }
        }
예제 #15
0
        public void ChangeSettingsForIntegrationTests()
        {
            m_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;

            m_RunInBackground = PlayerSettings.runInBackground;
            PlayerSettings.runInBackground = true;
#if UNITY_2018_1_OR_NEWER
            m_FullScreen = PlayerSettings.fullScreenMode;
            PlayerSettings.fullScreenMode = FullScreenMode.Windowed;
#else
            m_FullScreen = PlayerSettings.defaultIsFullScreen;
            PlayerSettings.defaultIsFullScreen = false;
#endif

            m_ResizableWindow = PlayerSettings.resizableWindow;
            PlayerSettings.resizableWindow = true;
        }
예제 #16
0
        internal static void Build()
        {
            string[] array   = new string[EditorBuildSettings.scenes.Length];
            int      newSize = 0;

            for (int index = 0; index < EditorBuildSettings.scenes.Length; ++index)
            {
                if (EditorBuildSettings.scenes[index].enabled)
                {
                    array[newSize] = EditorBuildSettings.scenes[index].path;
                    ++newSize;
                }
            }
            Array.Resize <string>(ref array, newSize);
            Directory.CreateDirectory("Temp/NScreen");
            ResolutionDialogSetting resolutionDialog = PlayerSettings.displayResolutionDialog;
            bool runInBackground     = PlayerSettings.runInBackground;
            bool defaultIsFullScreen = PlayerSettings.defaultIsFullScreen;

            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
            PlayerSettings.runInBackground         = true;
            PlayerSettings.defaultIsFullScreen     = false;
            try
            {
                if (IntPtr.Size == 4)
                {
                    BuildPipeline.BuildPlayer(array, "Temp/NScreen/NScreen.app", BuildTarget.StandaloneOSXIntel, BuildOptions.None);
                }
                else
                {
                    BuildPipeline.BuildPlayer(array, "Temp/NScreen/NScreen.app", BuildTarget.StandaloneOSXIntel64, BuildOptions.None);
                }
            }
            finally
            {
                PlayerSettings.displayResolutionDialog = resolutionDialog;
                PlayerSettings.runInBackground         = runInBackground;
                PlayerSettings.defaultIsFullScreen     = defaultIsFullScreen;
            }
        }
예제 #17
0
 public QBBuildSettingsPreserveContext()
 {
     playerSettings_RunInBackground         = PlayerSettings.runInBackground;
     playerSettings_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
     editorBuildSettingsScenes = EditorBuildSettings.scenes;
 }
        private void Build()
        {
            string path = EditorUtility.SaveFolderPanel("Choose Build Location", "", "");

            if (string.IsNullOrEmpty(path))
            {
                Debug.LogError("Aborted because the path was not specified");
                return;
            }

            string[] levels = new string[2];
            for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
            {
                #if UNITY_4_6 || UNITY_4_7
                if (EditorBuildSettings.scenes[i].path.Contains(EditorApplication.currentScene))
                #else
                if (EditorBuildSettings.scenes[i].path.Contains(UnitySceneManager.GetCurrentEditorSceneName()))
                                #endif
                { levels[0] = EditorBuildSettings.scenes[i].path; }
                else if (EditorBuildSettings.scenes[i].path.Contains(Target.sceneName))
                {
                    levels[1] = EditorBuildSettings.scenes[i].path;
                }
            }

            if (levels[0] == null || levels[1] == null)
            {
                Debug.LogError("Aborted because the current scene and the target scene were not in the build settings");
                return;
            }

            path += "/Autobuild";

            if (System.IO.Directory.Exists(path))
            {
                System.IO.Directory.Delete(path, true);
            }

            System.IO.Directory.CreateDirectory(path);

            BuildTarget target    = BuildTarget.StandaloneWindows;
            string      extension = ".exe";

            if (platform == Platform.Mac)
            {
                target    = BuildTarget.StandaloneOSXIntel;
                extension = ".app";
            }
            else if (platform == Platform.Linux)
            {
                target    = BuildTarget.StandaloneLinux;
                extension = ".so";
            }

            Target.executePath = path + "/autobuild" + extension;

            ResolutionDialogSetting resolutionDialog = PlayerSettings.displayResolutionDialog;

            PlayerSettings.runInBackground         = true;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;

            BuildPipeline.BuildPlayer(levels, Target.executePath, target, BuildOptions.None);

            PlayerSettings.displayResolutionDialog = resolutionDialog;

            EditorApplication.isPlaying = true;
        }
예제 #19
0
        public bool PreProcessor()
        {
            // Disable configuration window by default, better for Steam Link, etc.
            _previousResolutionDialogSettings = PlayerSettings.displayResolutionDialog;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.HiddenByDefault;

            // Turn off Mac Store Validation for sure
            _previousMacStoreValidation = PlayerSettings.useMacAppStoreValidation;
            PlayerSettings.useMacAppStoreValidation = false;

            return true;
        }
예제 #20
0
        public bool PreProcessor()
        {
            _previousMacStoreValidation = UnityEditor.PlayerSettings.useMacAppStoreValidation;
            UnityEditor.PlayerSettings.useMacAppStoreValidation = true;
            
            _previousResolutionDialogSettings = PlayerSettings.displayResolutionDialog;
            PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Enabled;
            
            _previousFullscreen = PlayerSettings.defaultIsFullScreen;
            PlayerSettings.defaultIsFullScreen = false;

            return true;
        }