UnityEditor.BuildPlayerWindow.PickBuildLocation C# (CSharp) Method

PickBuildLocation() private static method

private static PickBuildLocation ( BuildTarget target, BuildOptions options, bool &updateExistingBuild ) : bool
target BuildTarget
options BuildOptions
updateExistingBuild bool
return bool
        private static bool PickBuildLocation(BuildTarget target, BuildOptions options, out bool updateExistingBuild)
        {
            updateExistingBuild = false;
            string buildLocation = EditorUserBuildSettings.GetBuildLocation(target);
            if ((target == BuildTarget.Android) && EditorUserBuildSettings.exportAsGoogleAndroidProject)
            {
                string str2 = "Export Google Android Project";
                string location = EditorUtility.SaveFolderPanel(str2, buildLocation, string.Empty);
                EditorUserBuildSettings.SetBuildLocation(target, location);
                return true;
            }
            string extensionForBuildTarget = PostprocessBuildPlayer.GetExtensionForBuildTarget(target, options);
            string directory = FileUtil.DeleteLastPathNameComponent(buildLocation);
            string lastPathNameComponent = FileUtil.GetLastPathNameComponent(buildLocation);
            string title = "Build " + s_BuildPlatforms.GetBuildTargetDisplayName(target);
            string path = EditorUtility.SaveBuildPanel(target, title, directory, lastPathNameComponent, extensionForBuildTarget, out updateExistingBuild);
            if (path == string.Empty)
            {
                return false;
            }
            if ((extensionForBuildTarget != string.Empty) && (FileUtil.GetPathExtension(path).ToLower() != extensionForBuildTarget))
            {
                path = path + '.' + extensionForBuildTarget;
            }
            if (FileUtil.GetLastPathNameComponent(path) == string.Empty)
            {
                return false;
            }
            string str10 = !(extensionForBuildTarget != string.Empty) ? path : FileUtil.DeleteLastPathNameComponent(path);
            if (!Directory.Exists(str10))
            {
                Directory.CreateDirectory(str10);
            }
            if (((target == BuildTarget.iOS) && (Application.platform != RuntimePlatform.OSXEditor)) && (!FolderIsEmpty(path) && !UserWantsToDeleteFiles(path)))
            {
                return false;
            }
            EditorUserBuildSettings.SetBuildLocation(target, path);
            return true;
        }