duck

unity automated build and preserve changes

Jun 30th, 2011
727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEditor;
  4.  
  5.  
  6.  
  7. public class EditorHelper {
  8.  
  9.  
  10.    [MenuItem ("Build/BuildWebplayerPreservingFolder")]
  11.    
  12.    public static void BuildAndPreserve(){
  13.      
  14.       BuildOptions buildOptions = default(BuildOptions);
  15.      
  16.      
  17.       // this is the important part!
  18.       buildOptions |= BuildOptions.AcceptExternalModificationsToPlayer;
  19.      
  20.      
  21.      
  22.       // the rest of the code just pulls in the options from User Build Settings:
  23.        
  24.       string[] levels = new string[EditorBuildSettings.scenes.Length];
  25.      
  26.       int n=0;
  27.       foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
  28.       {
  29.          levels[n++] = scene.path;
  30.       }
  31.      
  32.      
  33.       BuildTarget buildTarget = BuildTarget.WebPlayer;
  34.      
  35.       if (EditorUserBuildSettings.webPlayerStreamed) {
  36.          buildOptions |= BuildOptions.BuildAdditionalStreamedScenes;
  37.       }
  38.      
  39.       if (EditorUserBuildSettings.webPlayerOfflineDeployment) {
  40.          buildOptions |= BuildOptions.WebPlayerOfflineDeployment;
  41.       }
  42.      
  43.       if (EditorUserBuildSettings.development)
  44.       {
  45.          buildOptions |= BuildOptions.Development;
  46.       }
  47.      
  48.       if (EditorUserBuildSettings.connectProfiler)
  49.       {
  50.          buildOptions |= BuildOptions.ConnectWithProfiler;
  51.       }
  52.  
  53.       if (EditorUserBuildSettings.allowDebugging)
  54.       {
  55.          buildOptions |= BuildOptions.AllowDebugging;
  56.       }
  57.      
  58.       if (EditorUserBuildSettings.appendProject)
  59.       {
  60.          // wtf does this do? script ref page is blank...
  61.       }
  62.          
  63.       if (EditorUserBuildSettings.installInBuildFolder) {
  64.          buildOptions |= BuildOptions.InstallInBuildFolder;
  65.       }
  66.      
  67.       buildOptions |= EditorUserBuildSettings.architectureFlags;
  68.      
  69.       string buildLocation = EditorUserBuildSettings.GetBuildLocation(buildTarget);
  70.      
  71.       BuildPipeline.BuildPlayer( levels, buildLocation, BuildTarget.WebPlayer, buildOptions);
  72.      
  73.    }
  74.    
  75. }
Advertisement
Add Comment
Please, Sign In to add comment