public override void OnInspectorGUI() { devTracker = (DevelopmentTracker)target; EditorGUILayout.Space(); EditorGUILayout.LabelField("Development Tracker"); EditorGUILayout.Space(); EditorGUILayout.LabelField("Version"); devTracker.version = EditorGUILayout.TextField(devTracker.version); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.Label("BuildName", GUILayout.ExpandWidth(false)); GUILayout.Label(devTracker.version + "_" + devTracker.build.ToString(), GUILayout.ExpandWidth(false)); GUILayout.EndVertical(); GUILayout.Space(50); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("BundleVersion: ", GUILayout.ExpandWidth(false)); GUILayout.Label(PlayerSettings.Android.bundleVersionCode.ToString(), GUILayout.ExpandWidth(false)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Version UP")) { PlayerSettings.Android.bundleVersionCode++; bundleVersionCounter++; bundleCodeWentUp = true; } GUILayout.Label("SOLO si la Build es de Deployment"); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.LabelField("Build Number"); EditorGUILayout.BeginHorizontal(); devTracker.build = EditorGUILayout.IntField(devTracker.build); if (GUILayout.Button("Iterate")) { devTracker.build++; BuildPlayerWindow.ShowBuildPlayerWindow(); EditorUtility.SetDirty(devTracker); } EditorGUILayout.EndHorizontal(); if (devTracker.build > 0) { PlayerSettings.bundleVersion = devTracker.version + "_" + devTracker.build.ToString(); //se actualiza el player } else { PlayerSettings.bundleVersion = devTracker.version; } EditorGUILayout.Space(); EditorGUILayout.LabelField("Description"); devTracker.description = EditorGUILayout.TextArea(devTracker.description); //---CUSTOM BUILD OPTIONS---// EditorGUILayout.Space(); GUILayout.BeginHorizontal(); GUI.color = Color.green; if (GUILayout.Button("Finalize Build")) { BuildPlayerWindow.ShowBuildPlayerWindow(); showOptions = true; } GUI.color = Color.white; GUI.color = Color.cyan; if (GUILayout.Button("Open Player Settings", GUILayout.ExpandWidth(false))) { //var windowType = typeof(Editor).Assembly.GetType("UnityEditor.EditorUserSettings"); //EditorWindow.GetWindow(windowType); EditorApplication.ExecuteMenuItem("Edit/Project Settings..."); //Selection.activeObject = Unsupported.GetSerializedAssetInterfaceSingleton("PlayerSettings"); //Unsupported.GetSerializedAssetInterfaceSingleton("PlayerSettings"); } GUILayout.EndHorizontal(); GUI.color = Color.white; if (showOptions) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Label("Do your Build Now"); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Cancel Build Entry", GUILayout.ExpandWidth(false))) { showOptions = false; if (PlayerSettings.Android.bundleVersionCode > 1 && bundleCodeWentUp) { PlayerSettings.Android.bundleVersionCode -= bundleVersionCounter; bundleVersionCounter = 0; bundleCodeWentUp = false; } } GUI.color = Color.yellow; if (GUILayout.Button("Force Build Entry", GUILayout.ExpandWidth(false))) { devTracker.history.Add(System.DateTime.Now.ToString() + "\nVersion: " + devTracker.version + "\nIteration " + devTracker.build.ToString() + "\nDescription:\n" + devTracker.description + "\n" + EditorUserBuildSettings.GetBuildLocation(EditorUserBuildSettings.activeBuildTarget) + "\n" + "Entrada al diario forzada"); EditorUtility.SetDirty(devTracker); showOptions = false; } GUI.color = Color.white; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } EditorGUILayout.Space(); unFold = EditorGUILayout.Foldout(unFold, "Entries", true); if (unFold) { EditorGUI.indentLevel++; for (int i = devTracker.history.Count - 1; i >= 0; i--) { GUILayout.BeginHorizontal(); if (GUILayout.Button("View Build " + i.ToString())) { if (selectedHistory != i) { selectedHistory = i; } else { selectedHistory = -1; } } GUI.color = Color.yellow; if (GUILayout.Button("Delete This entry", GUILayout.ExpandWidth(false))) { //delete from devtracker devTracker.history.RemoveAt(i); break; } GUI.color = Color.white; GUILayout.EndHorizontal(); if (selectedHistory == i) { //Content string[] info = devTracker.history [i].Split("\n" [0]); foreach (string ii in info) { EditorGUILayout.LabelField(ii); } } } } EditorGUI.indentLevel--; GUILayout.Space(10); GUILayout.Label("Ultima Build"); GUILayout.BeginHorizontal(); GUILayout.Space(20); GUILayout.Label(EditorUserBuildSettings.GetBuildLocation(EditorUserBuildSettings.activeBuildTarget), GUILayout.ExpandWidth(false)); if (GUILayout.Button("Open Build Folder", GUILayout.ExpandWidth(false))) { EditorUtility.RevealInFinder(EditorUserBuildSettings.GetBuildLocation(EditorUserBuildSettings.activeBuildTarget)); } //if (GUILayout.Button("Build Report", GUILayout.ExpandWidth(false))) //{ // EditorApplication.ExecuteMenuItem("BuildTracker/Show Build Report"); //} GUILayout.EndHorizontal(); //GUILayout.Space(10); //GUILayout.Label("Carpetas"); //GUILayout.BeginHorizontal(); //GUILayout.Space(20); //if (GUILayout.Button("ReportFolder", GUILayout.ExpandWidth(false))) //{ // //comprobar si este archivo existe sino crearlo // if (!System.IO.File.Exists("../UnityBuildReports/NO_TOUCH.txt")) // { // using (System.IO.File.Create("../UnityBuildReports/NO_TOUCH.txt")) // { } // } // EditorUtility.RevealInFinder(System.IO.Path.Combine(Application.dataPath + "/../../UnityBuildReports/NO_TOUCH.txt")); //} //if (GUILayout.Button("SaveFolder", GUILayout.ExpandWidth(false))) //{ // //comprobar si este archivo existe sino crearlo // if (!System.IO.File.Exists("../SaveData/NO_TOUCH.txt")) // { // using (System.IO.File.Create("../SaveData/NO_TOUCH.txt")) // { } // } // EditorUtility.RevealInFinder(System.IO.Path.Combine(Application.dataPath + "/../../SaveData/NO_TOUCH.txt")); //} //GUILayout.EndHorizontal(); GUI.color = Color.red; GUILayout.Space(20); if (GUILayout.Button("Delete All Builds")) { devTracker.history.Clear(); } EditorUtility.SetDirty(devTracker); }
public override void OnInspectorGUI() { DevelopmentTracker devTracker = (DevelopmentTracker)target; EditorGUILayout.Space(); EditorGUILayout.LabelField("Development Tracker"); EditorGUILayout.Space(); EditorGUILayout.LabelField("Version"); devTracker.version = EditorGUILayout.TextField(devTracker.version); EditorGUILayout.Space(); EditorGUILayout.LabelField("Build Number"); EditorGUILayout.BeginHorizontal(); devTracker.build = EditorGUILayout.IntField(devTracker.build); if (GUILayout.Button("Iterate")) { devTracker.build++; } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.LabelField("Description"); devTracker.description = EditorGUILayout.TextField(devTracker.description); EditorGUILayout.Space(); GUI.color = Color.green; if (GUILayout.Button("Finalize Build")) { devTracker.history.Add(System.DateTime.Now.ToString() + "\n" + devTracker.version + "\nbuild " + devTracker.build.ToString() + "\n" + devTracker.description); EditorUtility.SetDirty((DevelopmentTracker)target); } GUI.color = Color.white; EditorGUILayout.Space(); for (int i = devTracker.history.Count - 1; i >= 0; i--) { if (GUILayout.Button("View Build " + i.ToString())) { if (selectedHistory != i) { selectedHistory = i; } else { selectedHistory = -1; } } if (selectedHistory == i) { string[] info = devTracker.history [i].Split("\n" [0]); foreach (string ii in info) { EditorGUILayout.LabelField(ii); } } } GUI.color = Color.red; GUILayout.Space(30); if (GUILayout.Button("Delete All Builds")) { devTracker.history.Clear(); } }