@@ -13,7 +13,8 @@ private static string AndroidKeystorePath
1313 {
1414 get
1515 {
16- var value = Environment . GetEnvironmentVariable ( "UNITY_ANDROID_KEYSTORE" ) ;
16+ var value = Environment . GetEnvironmentVariable (
17+ "UNITY_ANDROID_KEYSTORE" ) ;
1718 return value ?? PlayerSettings . Android . keystoreName ;
1819 }
1920 }
@@ -22,7 +23,8 @@ private static string AndroidKeystorePassword
2223 {
2324 get
2425 {
25- var value = Environment . GetEnvironmentVariable ( "UNITY_ANDROID_KEYSTORE_PASSWORD" ) ;
26+ var value = Environment . GetEnvironmentVariable (
27+ "UNITY_ANDROID_KEYSTORE_PASSWORD" ) ;
2628 return value ?? PlayerSettings . Android . keystorePass ;
2729 }
2830 }
@@ -31,7 +33,8 @@ private static string AndroidKeyalias
3133 {
3234 get
3335 {
34- var value = Environment . GetEnvironmentVariable ( "UNITY_ANDROID_KEYALIAS" ) ;
36+ var value = Environment . GetEnvironmentVariable (
37+ "UNITY_ANDROID_KEYALIAS" ) ;
3538 return value ?? PlayerSettings . Android . keyaliasName ;
3639 }
3740 }
@@ -40,7 +43,8 @@ private static string AndroidKeyaliasPassword
4043 {
4144 get
4245 {
43- var value = Environment . GetEnvironmentVariable ( "UNITY_ANDROID_KEYALIAS_PASSWORD" ) ;
46+ var value = Environment . GetEnvironmentVariable (
47+ "UNITY_ANDROID_KEYALIAS_PASSWORD" ) ;
4448 return value ?? PlayerSettings . Android . keyaliasPass ;
4549 }
4650 }
@@ -129,29 +133,47 @@ public static void BuildAll()
129133 [ MenuItem ( "Build/Enable Local Server" , false , 500 ) ]
130134 public static void EnableLocalServer ( )
131135 {
132- PlayerSettings . SetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone ,
136+ PlayerSettings . SetScriptingDefineSymbolsForGroup (
137+ BuildTargetGroup . Standalone ,
133138 "LOCAL_SERVER" ) ;
134139 EditorSceneManager . SaveOpenScenes ( ) ;
135140 }
136141
137142 [ MenuItem ( "Build/Disable Local Server" , false , 510 ) ]
138143 public static void DisableLocalServer ( )
139144 {
140- PlayerSettings . SetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone , "" ) ;
145+ PlayerSettings . SetScriptingDefineSymbolsForGroup (
146+ BuildTargetGroup . Standalone , "" ) ;
141147 EditorSceneManager . SaveOpenScenes ( ) ;
142148 }
143149
144- private static void Configure ( )
150+ public static void BuildSilently ( )
145151 {
146- var version = BumpVersion ( ) ;
147- PlayerSettings . Android . bundleVersionCode = version . VersionCode ;
152+ Configure ( false ) ;
153+ InternalBuildReleaseAndroid ( ) ;
154+ InternalBuildReleaseLinux ( ) ;
155+ InternalBuildReleaseWindows ( ) ;
156+ InternalBuildDebugAndroid ( ) ;
157+ InternalBuildDebugLinux ( ) ;
158+ InternalBuildDebugWindows ( ) ;
159+ CleanUp ( ) ;
160+ }
161+
162+ private static void Configure ( bool bumpVersion = true )
163+ {
164+ if ( bumpVersion )
165+ {
166+ var version = BumpVersion ( ) ;
167+ PlayerSettings . Android . bundleVersionCode = version . VersionCode ;
168+ PlayerSettings . bundleVersion = version . VersionName ;
169+ }
148170 PlayerSettings . Android . keystoreName = AndroidKeystorePath ;
149171 PlayerSettings . Android . keystorePass = AndroidKeystorePassword ;
150172 PlayerSettings . Android . keyaliasName = AndroidKeyalias ;
151173 PlayerSettings . Android . keyaliasPass = AndroidKeyaliasPassword ;
152174 PlayerSettings . runInBackground = true ;
153- PlayerSettings . displayResolutionDialog = ResolutionDialogSetting . HiddenByDefault ;
154- PlayerSettings . bundleVersion = version . VersionName ;
175+ PlayerSettings . displayResolutionDialog =
176+ ResolutionDialogSetting . HiddenByDefault ;
155177 EditorSceneManager . SaveOpenScenes ( ) ;
156178 }
157179
@@ -168,21 +190,24 @@ private static VersionNumber BumpVersion()
168190 {
169191 const string path = "Assets/Scripts/Utils/Utilities.cs" ;
170192 var text = File . ReadAllText ( path ) ;
171- Regex regex = new Regex ( @"^\s*public\s+const\s+int\s+VersionCode\s*=\s*(\d+);$" ,
193+ Regex regex = new Regex (
194+ @"^\s*public\s+const\s+int\s+VersionCode\s*=\s*(\d+);$" ,
172195 RegexOptions . Multiline ) ;
173196 var group = regex . Match ( text ) . Groups [ 1 ] ;
174197 int versionCode = int . Parse ( group . Value ) ;
175198 ++ versionCode ;
176199 text = text . Remove ( group . Index , group . Length ) ;
177200 text = text . Insert ( group . Index , versionCode . ToString ( ) ) ;
178- regex = new Regex ( @"^\s*public\s+const\s+string\s+VersionName\s*=\s*\"".*\.(\d+)\"";$" ,
201+ regex = new Regex (
202+ @"^\s*public\s+const\s+string\s+VersionName\s*=\s*\"".*\.(\d+)\"";$" ,
179203 RegexOptions . Multiline ) ;
180204 group = regex . Match ( text ) . Groups [ 1 ] ;
181205 text = text . Remove ( group . Index , group . Length ) ;
182206 text = text . Insert ( group . Index , versionCode . ToString ( ) ) ;
183207 File . WriteAllText ( path , text ) ;
184208 AssetDatabase . Refresh ( ) ;
185- regex = new Regex ( @"^\s*public\s+const\s+string\s+VersionName\s*=\s*\""(.*)\"";$" ,
209+ regex = new Regex (
210+ @"^\s*public\s+const\s+string\s+VersionName\s*=\s*\""(.*)\"";$" ,
186211 RegexOptions . Multiline ) ;
187212 return new VersionNumber
188213 {
@@ -293,7 +318,8 @@ private static void InternalBuildReleaseAndroid()
293318 BuildOptions . None ) ;
294319 }
295320
296- private static void BuildMasterServer ( string path , BuildTarget target , BuildOptions options )
321+ private static void BuildMasterServer ( string path , BuildTarget target ,
322+ BuildOptions options )
297323 {
298324 PlayerSettings . productName = "TetrisMasterServer" ;
299325 string [ ] scenes =
@@ -304,7 +330,7 @@ private static void BuildMasterServer(string path, BuildTarget target, BuildOpti
304330 }
305331
306332 private static void BuildSpawnerServer ( string path , BuildTarget target ,
307- BuildOptions options )
333+ BuildOptions options )
308334 {
309335 PlayerSettings . productName = "TetrisSpawnerServer" ;
310336 string [ ] scenes =
@@ -314,7 +340,8 @@ private static void BuildSpawnerServer(string path, BuildTarget target,
314340 BuildPipeline . BuildPlayer ( scenes , path , target , options ) ;
315341 }
316342
317- private static void BuildGameServer ( string path , BuildTarget target , BuildOptions options )
343+ private static void BuildGameServer ( string path , BuildTarget target ,
344+ BuildOptions options )
318345 {
319346 PlayerSettings . productName = "TetrisGameServer" ;
320347 string [ ] scenes =
@@ -324,7 +351,8 @@ private static void BuildGameServer(string path, BuildTarget target, BuildOption
324351 BuildPipeline . BuildPlayer ( scenes , path , target , options ) ;
325352 }
326353
327- private static void BuildClient ( string path , BuildTarget target , BuildOptions options )
354+ private static void BuildClient ( string path , BuildTarget target ,
355+ BuildOptions options )
328356 {
329357 PlayerSettings . productName = "Tetris" ;
330358 string [ ] scenes =
0 commit comments