static void CopyFile(BuildParameterFactory.BuildParameter parameter) { if (parameter.target == BuildTarget.StandaloneLinux || parameter.target == BuildTarget.StandaloneLinuxUniversal) { string src = Directory.GetCurrentDirectory() + "/config"; string dst = parameter.directory + parameter.name + "_Data/Mono/etc/mono/config"; try { FileUtil.ReplaceFile(src, dst); } catch (System.Exception e) { Debug.LogError("Failed to copy file : " + e); } } /* After ver 4.6(included), .app/Contents/MacOS/* would use build name instead of ProductName * else if (parameter.target == BuildTarget.StandaloneOSXIntel || parameter.target == BuildTarget.StandaloneOSXUniversal) { * string src = parameter.directory + parameter.name + ".app/Contents/MacOS/PE_Client"; * string dst = parameter.directory + parameter.name + ".app/Contents/MacOS/Planet Explorers"; * try { * FileUtil.DeleteFileOrDirectory(dst); * FileUtil.MoveFileOrDirectory(src, dst); * //FileUtil.CopyFileOrDirectory(src, dst); * } catch (System.Exception e) { * Debug.LogError("Failed to copy file : " + e); * } * } */ }
static bool ExecuteBuild(BuildParameterFactory.BuildParameter parameter) { if (!string.IsNullOrEmpty(parameter.error)) { Debug.LogError(parameter.error); return(EditorUtility.DisplayDialog("!Failed", "ParaError:" + parameter.error, "Continue", "Abort")); } if (BuildPipeline.isBuildingPlayer) { return(EditorUtility.DisplayDialog("!Failed", "IsBuildingPlayer", "Continue", "Abort")); } if (!PrepareBuildDir(parameter)) { return(EditorUtility.DisplayDialog("!Failed", "Failed to prapare build dir", "Continue", "Abort")); } PreparePlayerSetting(parameter); PrepareBuildSetting(parameter); string error = BuildPipeline.BuildPlayer(parameter.scenes, parameter.path, parameter.target, parameter.options); if (string.IsNullOrEmpty(error)) { CopyFile(parameter); Debug.Log("Succed to build player : " + parameter); } else { Debug.LogError(error); return(EditorUtility.DisplayDialog("!Failed", error, "Continue", "Abort")); } return(true); }
static void PreparePlayerSetting(BuildParameterFactory.BuildParameter parameter) { if (PlayerSettings.GetScriptingDefineSymbolsForGroup(parameter.targets) != parameter.symbols) { Debug.Log("Set symbols : " + parameter.symbols); PlayerSettings.SetScriptingDefineSymbolsForGroup(parameter.targets, parameter.symbols); } }
static void PrepareBuildSetting(BuildParameterFactory.BuildParameter parameter) { if (EditorUserBuildSettings.activeBuildTarget != parameter.target) { Debug.Log("Switch to target : " + parameter.target); EditorUserBuildSettings.SwitchActiveBuildTarget(parameter.target); } }
static bool PrepareBuildDir(BuildParameterFactory.BuildParameter parameter) { if (!System.IO.Directory.Exists(parameter.directory)) { try { Directory.CreateDirectory(parameter.directory); Debug.Log("Succeed to create directory : " + parameter.directory); return(true); } catch (System.Exception e) { Debug.LogError("Failed to create directory : " + e); return(false); } } return(true); }