Advertisement
Flynny85

Unity BuildVersion Increment

Apr 1st, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.88 KB | None | 0 0
  1. using UnityEngine;
  2. #if UNITY_EDITOR
  3. using UnityEditor;
  4. #endif
  5.  
  6. #if UNITY_EDITOR
  7. [CustomEditor(typeof(BuildTime_Update))]
  8. public class BuildTime_UpdateOverride : Editor
  9. {
  10.     public override void OnInspectorGUI()
  11.     {
  12.         BuildTime_Update _buildTemp = (BuildTime_Update)target;
  13.         if(GUILayout.Button("Add Major"))
  14.         {
  15.             _buildTemp.Add_Major();
  16.         }
  17.         if(GUILayout.Button("Add Minor"))
  18.         {
  19.             _buildTemp.Add_Minor();
  20.         }
  21.         if(GUILayout.Button("Add Increment"))
  22.         {
  23.             _buildTemp.Add_Increment();
  24.         }
  25.         if(GUILayout.Button("Test"))
  26.         {
  27.             _buildTemp.Update_BuildNo();
  28.         }
  29.         DrawDefaultInspector();
  30.     }
  31. }
  32. #endif
  33.  
  34. [ExecuteInEditMode]
  35. public class BuildTime_Update : MonoBehaviour {
  36.  
  37.     public enum BuildVersionTypes
  38.     {
  39.         DateShort,
  40.         DateLong,
  41.         VersionNo,
  42.     }
  43.  
  44.     public BuildVersionTypes _current_buildType;
  45.  
  46.     public int _MajorVersion = 0;
  47.     public int _MinorVersion = 0; // will be auto incremented;
  48.     public int _IncrementVersion = 0;
  49.     public int _IncrementMax = 10; // each time increment version goes past this value, minor version is incremented and increment is reset to 0.
  50.  
  51.     private int _ios = 1;
  52.     private int _android = 2;
  53.     private int _webGL = 3;
  54.     private int _platform;
  55.  
  56.     public TMPro.TextMeshProUGUI text;
  57.     public string buildName;
  58.  
  59.     public void Add_Major(){
  60.         _MajorVersion += 1;
  61.     }
  62.  
  63.     public void Add_Minor(){
  64.         _MinorVersion += 1;
  65.     }
  66.  
  67.     public void Add_Increment(){
  68.         _IncrementVersion += 1;
  69.         if (_IncrementMax > 1 && _IncrementVersion > _IncrementMax) {
  70.             _IncrementVersion = 0; _MinorVersion += 1;
  71.         }
  72.     }
  73.     #if UNITY_EDITOR
  74.     public void Update_BuildNo(){
  75.         if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.Android) {
  76.             _platform = _android;
  77.         }
  78.         if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.iOS) {
  79.             _platform = _ios;
  80.         }
  81.         if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.WebGL) {
  82.             _platform = _webGL;
  83.         }
  84.  
  85.         if(_current_buildType.Equals(BuildVersionTypes.DateShort)){
  86.             buildName = System.DateTime.Now.ToString("yy/MM/dd"); // accurate to the day ..
  87.         }
  88.         if(_current_buildType.Equals(BuildVersionTypes.DateLong)){
  89.             buildName = System.DateTime.Now.ToString("yy/MM/dd HH:MM"); // accurate to the minute ..
  90.         }
  91.         if(_current_buildType.Equals(BuildVersionTypes.VersionNo)){
  92.             buildName = _MajorVersion.ToString("00:") + _MinorVersion.ToString("00:") +  _IncrementVersion.ToString("00:"); // accurate to the minute ..
  93.         }
  94.  
  95.         if (text != null) {
  96.             if (EditorUserBuildSettings.development == true) {
  97.                 text.text = "Build: " + buildName + " " + _platform.ToString();
  98.             } else {
  99.                 text.text = "Release: " + buildName + " " + _platform.ToString();
  100.             }
  101.         }
  102.     }
  103.     #endif
  104.  
  105.     #if UNITY_EDITOR
  106.     public void Awake() {
  107.         if (Application.isEditor && !Application.isPlaying) {
  108.             Add_Increment ();
  109.             Update_BuildNo ();
  110.         }
  111.     }
  112.     #endif
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement