ShivaFang

Untitled

Nov 16th, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. using UnityEditor;
  2. using UnityEngine;
  3. using UnityEditor.Build.Reporting;
  4. using UnityEditor.AddressableAssets.Settings;
  5.  
  6.  
  7. // Output the build size or a failure depending on BuildPlayer.
  8.  
  9. public class ShivaBuild : MonoBehaviour {
  10. [MenuItem("Build/Increment Build Numbers")]
  11. public static void IncrementNumbers(){
  12.  
  13. if (!int.TryParse(PlayerSettings.iOS.buildNumber, out var x))
  14. x = 0;
  15. x = System.Math.Max(x,PlayerSettings.Android.bundleVersionCode);
  16. x++;
  17. Debug.Log($"New Build Number: {x}");
  18. PlayerSettings.Android.bundleVersionCode = x;
  19. PlayerSettings.iOS.buildNumber = x.ToString();
  20. }
  21. #if UNITY_ANDROID
  22.  
  23. public static void PreBuild(){
  24.  
  25. Ludiq.AotPreBuilder.PreCloudBuild();
  26.  
  27. AddressableAssetSettings.CleanPlayerContent();
  28. AddressableAssetSettings.BuildPlayerContent();
  29.  
  30. }
  31.  
  32. public static void PostBuild (string path)
  33. {
  34.  
  35. }
  36.  
  37. [MenuItem("Build/Build Android")]
  38. public static void MyBuild() {
  39. PreBuild();
  40.  
  41. BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
  42. buildPlayerOptions.scenes = new[] { "Assets/Prism/Scenes/Landing.unity", "Assets/Prism/Scenes/Menu.unity", "Assets/Prism/Scenes/ARCAM.unity" };
  43. buildPlayerOptions.locationPathName = $"Builds/Android/Shiva/{Application.productName} {Application.version} ({PlayerSettings.Android.bundleVersionCode})" ;
  44. buildPlayerOptions.target = BuildTarget.Android;
  45. buildPlayerOptions.options = BuildOptions.None;
  46.  
  47. BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
  48. BuildSummary summary = report.summary;
  49.  
  50. if (summary.result == BuildResult.Succeeded) {
  51. BuildSucceeded(summary);
  52. }
  53.  
  54. if (summary.result == BuildResult.Failed) {
  55. BuildFailed(summary);
  56. }
  57.  
  58. PostBuild(summary.outputPath);
  59. }
  60.  
  61. public static void BuildSucceeded(BuildSummary summary) {
  62. Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
  63. }
  64.  
  65. public static void BuildFailed(BuildSummary summary) {
  66. Debug.LogError("Build failed");
  67. }
  68. #endif
  69. #if UNITY_IOS
  70.  
  71. public static void PreBuild(){
  72. Ludiq.AotPreBuilder.PreCloudBuild();
  73.  
  74. AddressableAssetSettings.CleanPlayerContent();
  75. AddressableAssetSettings.BuildPlayerContent();
  76.  
  77. PlayerSettings.muteOtherAudioSources = true;
  78.  
  79. }
  80.  
  81. public static void PostBuild (string path)
  82. {
  83.  
  84. }
  85. [MenuItem("Build/Build iOS")]
  86. public static void MyBuild() {
  87.  
  88. PreBuild();
  89.  
  90. BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
  91. buildPlayerOptions.scenes = new[] { "Assets/Prism/Scenes/Landing.unity", "Assets/Prism/Scenes/Menu.unity", "Assets/Prism/Scenes/ARCAM.unity" };
  92. buildPlayerOptions.locationPathName = $"Builds/iOS/Shiva/{Application.productName} {Application.version} ({PlayerSettings.Android.bundleVersionCode})" ;
  93. buildPlayerOptions.target = BuildTarget.iOS;
  94. buildPlayerOptions.options = BuildOptions.None;
  95.  
  96. BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
  97. BuildSummary summary = report.summary;
  98.  
  99. if (summary.result == BuildResult.Succeeded) {
  100. BuildSucceeded(summary);
  101. }
  102.  
  103. if (summary.result == BuildResult.Failed) {
  104. BuildFailed(summary);
  105. }
  106.  
  107. PostBuild(summary.outputPath);
  108. }
  109.  
  110. public static void BuildSucceeded(BuildSummary summary) {
  111. Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
  112. }
  113.  
  114. public static void BuildFailed(BuildSummary summary) {
  115. Debug.LogError("Build failed");
  116. }
  117. #endif
  118. }
Advertisement
Add Comment
Please, Sign In to add comment