void Awake() { if (PlayerPrefs.HasKey("BuildData")) { m_currentBuildData = AssetDatabase.LoadAssetAtPath <BuildData>(PlayerPrefs.GetString("BuildData")); } GetConfIfItExists("BuildFolder", ref m_buildFolder); GetConfIfItExists("BuildNameTemplate", ref m_buildnameTemplate); #if UNITY_IOS GetConfIfItExists("IOS_Path", ref IOS_path); GetConfIfItExists("IOS_FolderName", ref IOS_folderName); #endif }
void IncrementPatch() { BuildData bd = m_currentBuildData; bd.Patch += 1; EditorUtility.SetDirty(bd); AssetDatabase.SaveAssets(); m_currentBuildData = bd; UnityEditor.PlayerSettings.bundleVersion = m_currentBuildData.GetVersionLabel(); UnityEditor.PlayerSettings.Android.bundleVersionCode += 1; UnityEditor.PlayerSettings.iOS.buildNumber = UnityEditor.PlayerSettings.Android.bundleVersionCode.ToString(); }
void OnGUI() { m_scrollPosition = GUILayout.BeginScrollView(m_scrollPosition); m_toolConf = EditorGUILayout.BeginToggleGroup("Configuration", m_toolConf); if (m_toolConf) { var prev = m_currentBuildData; m_currentBuildData = (BuildData)EditorGUILayout.ObjectField("Build Data", m_currentBuildData, typeof(BuildData), false); if (prev != m_currentBuildData && m_currentBuildData != null) { string buildDataPath = AssetDatabase.GetAssetPath(m_currentBuildData); PlayerPrefs.SetString("BuildData", buildDataPath); PlayerPrefs.Save(); } if (m_currentBuildData == null) { if (GUILayout.Button("Create Build Data")) { S_CreateBuildData(); } } EditorGUILayout.BeginHorizontal(); m_buildFolder = EditorGUILayout.TextField("Build folder", m_buildFolder); if (GUILayout.Button("...", GUILayout.Width(25))) { var old = m_buildFolder; var n = EditorUtility.OpenFolderPanel("Build Folder", m_buildFolder, ""); if (old != n && n != null && n.Length > 0) { if (n.Substring(n.Length - 1) != "/") { n += "/"; } if (System.IO.Directory.Exists(n)) { m_buildFolder = n; PlayerPrefs.SetString("BuildFolder", n); this.Repaint(); } } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); { var n = EditorGUILayout.TextField("Build name template", m_buildnameTemplate); if (n != m_buildnameTemplate && n != null && n.Length > 0) { m_buildnameTemplate = n; PlayerPrefs.SetString("BuildNameTemplate", n); } } EditorGUILayout.EndHorizontal(); GUILayout.Space(15); } EditorGUILayout.EndToggleGroup(); if (GUILayout.Button("Open Player settings")) { EditorApplication.ExecuteMenuItem("Edit/Project Settings/Player"); } m_IncrementPatch = GUILayout.Toggle(m_IncrementPatch, "Auto Increment Patch"); m_isDevelopementBuild = GUILayout.Toggle(m_isDevelopementBuild, "Is Developpement Build"); m_androidAutoPush = GUILayout.Toggle(m_androidAutoPush, "Android Auto push"); if (m_currentBuildData != null) { GUILayout.Label("Next Build : " + GetVersionName(), EditorStyles.boldLabel); } if (GUILayout.Button("Build Android")) { BuildForAndroid(m_isDevelopementBuild, m_IncrementPatch, m_androidAutoPush); } if (GUILayout.Button("Push last build Android")) { PushLastAndroidBuild(); } #if UNITY_IOS m_iosAutoRun = GUILayout.Toggle(m_iosAutoRun, "IOS Auto run"); if (GUILayout.Button("Build IOS")) { BuildForIOS(m_isDevelopementBuild, m_IncrementPatch, m_iosAutoRun); } #endif if (GUILayout.Button("Open build folder")) { Process.Start(m_buildFolder); } GUILayout.EndScrollView(); }