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;
}