public static void DrawInspector() { if (currentBundle == null) { GUILayout.FlexibleSpace(); GUILayout.Label("Select bundle to check its content."); GUILayout.FlexibleSpace(); return; } m_ScrollViewPosition = EditorGUILayout.BeginScrollView(m_ScrollViewPosition); { // Bundle type and version BundleBuildState buildStates = BundleManager.GetBuildStateOfBundle(currentBundle.name); EditorGUILayout.BeginHorizontal(); { GUILayout.Label(currentBundle.sceneBundle ? "Scene bundle" : "Asset bundle", BMGUIStyles.GetBuildinStyle("BoldLabel")); GUILayout.FlexibleSpace(); GUILayout.Label("Version " + buildStates.version, BMGUIStyles.GetBuildinStyle("BoldLabel")); } EditorGUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { string sizeStr = "Build Size " + (buildStates.size == -1 ? "Unkown" : Mathf.CeilToInt(buildStates.size / 1024f) + " KB"); GUILayout.Label(sizeStr, BMGUIStyles.GetBuildinStyle("BoldLabel")); GUILayout.FlexibleSpace(); GUILayout.Label("Priority", EditorStyles.boldLabel); currentBundle.priority = EditorGUILayout.Popup(currentBundle.priority, new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }, GUILayout.MaxWidth(40)); } GUILayout.EndHorizontal(); GUILayout.Space(5); EditorGUILayout.BeginVertical(BMGUIStyles.GetBuildinStyle("Wizard Box")); { GUI_Inlcudes(); GUI_DependencyList(); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndScrollView(); }
public override void OnInspectorGUI() { EditorGUILayout.BeginVertical(); { BuildConfiger.Compress = EditorGUILayout.Toggle("Compress", BuildConfiger.Compress); BuildConfiger.DeterministicBundle = EditorGUILayout.Toggle("Deterministic", BuildConfiger.DeterministicBundle); BuildConfiger.BundleSuffix = EditorGUILayout.TextField("Bundle Suffix", BuildConfiger.BundleSuffix); DownloadConfiger.useCache = EditorGUILayout.Toggle("Use Unity Cache", DownloadConfiger.useCache); DownloadConfiger.downloadThreadsCount = EditorGUILayout.IntField("Download Thread Limit", DownloadConfiger.downloadThreadsCount); DownloadConfiger.retryTime = EditorGUILayout.IntField("Error Retry Time", DownloadConfiger.retryTime); EditorGUILayout.BeginVertical(BMGUIStyles.GetBuildinStyle("Wizard Box")); { BuildConfiger.UseEditorTarget = EditorGUILayout.Toggle("Use Editor Target", BuildConfiger.UseEditorTarget); if (!BuildConfiger.UseEditorTarget) { BuildPlatform origPlatform = BuildConfiger.BundleBuildTarget; BuildPlatform newPlatform = (BuildPlatform)EditorGUILayout.EnumPopup("Build Target", (System.Enum)origPlatform); if (origPlatform != newPlatform) { GUIUtility.keyboardControl = 0; // Remove the focuse on path text field BuildConfiger.BundleBuildTarget = newPlatform; PlayerPrefs.SetInt("BundleManagerPlatform", (int)newPlatform); } } else { BuildConfiger.UnityBuildTarget = EditorUserBuildSettings.activeBuildTarget; } EditorGUILayout.BeginHorizontal(); { BuildConfiger.BuildOutputStr = EditorGUILayout.TextField("Output Path", BuildConfiger.BuildOutputStr); if (GUILayout.Button("...", GUILayout.MaxWidth(24))) { GUIUtility.keyboardControl = 0; // Remove the focuse on path text field string origPath = BuildConfiger.InterpretedOutputPath; string newOutputPath = EditorUtility.OpenFolderPanel("Choose Output Path", origPath, ""); if (newOutputPath != "" && newOutputPath != origPath) { BuildConfiger.BuildOutputStr = newOutputPath; } } } EditorGUILayout.EndHorizontal(); if (!DownloadConfiger.downloadFromOutput) { DownloadConfiger.downloadUrl = EditorGUILayout.TextField("Download Url", DownloadConfiger.downloadUrl); } DownloadConfiger.downloadFromOutput = EditorGUILayout.Toggle("Download from Output", DownloadConfiger.downloadFromOutput); } EditorGUILayout.EndVertical(); if (GUILayout.Button("Export Config File To Output")) { BuildHelper.ExportBMConfigerFileToOutput(); } GUILayout.FlexibleSpace(); } EditorGUILayout.EndVertical(); if (GUI.changed) { BMDataAccessor.SaveBMConfiger(); BMDataAccessor.SaveUrls(); } }
void OnGUI() { if (m_DragHandler == null) { // Setup GUI handler m_DragHandler = new GUIDragHandler(); m_DragHandler.dragIdentifier = "BundleTreeView"; m_DragHandler.AddRecieveIdentifier(m_DragHandler.dragIdentifier); m_DragHandler.canRecieveCallBack = OnCanRecieve; m_DragHandler.reciveDragCallBack = OnRecieve; } if (Event.current.type == EventType.MouseDown || Event.current.type == EventType.DragUpdated || !HasFocuse()) { // Any mouse down msg or lose focuse will cancle the edit waiting process m_EditWaitStartTime = -1; m_EditWaitBundle = ""; } Rect curWindowRect = EditorGUILayout.BeginVertical(BMGUIStyles.GetBuildinStyle("OL Box")); { // Update rect info if (Event.current.type != EventType.Layout) { m_rect = curWindowRect; } // Toobar EditorGUILayout.BeginHorizontal(EditorStyles.toolbar, GUILayout.ExpandWidth(true)); { // Create drop down Rect createBtnRect = GUILayoutUtility.GetRect(new GUIContent("Create"), EditorStyles.toolbarDropDown, GUILayout.ExpandWidth(false)); if (GUI.Button(createBtnRect, "Create", EditorStyles.toolbarDropDown)) { GenericMenu menu = new GenericMenu(); if (m_Selections.Count <= 1) { menu.AddItem(new GUIContent("Scene Bundle"), false, CreateSceneBundle); menu.AddItem(new GUIContent("Asset Bundle"), false, CreateAssetBundle); //menu.AddItem(new GUIContent("UIView Bundle"), false, CreateUIViewBundle); //menu.AddItem(new GUIContent("Level Bundle"), false, CreateLevelBundle); menu.AddItem(new GUIContent("Player Bundle"), false, CreatePlayerBundle); menu.AddItem(new GUIContent("Monster Bundle"), false, CreateMonsterBundle); menu.AddItem(new GUIContent("Config Bundle"), false, CreateConfigBundle); menu.AddItem(new GUIContent("Equip Bundle"), false, CreateEquipBundle); menu.AddItem(new GUIContent("Audio Bundle"), false, CreateAudioBundle); menu.AddItem(new GUIContent("Skill Bundle"), false, CreateSkillBundle); menu.AddItem(new GUIContent("BigTex Bundle"), false, CreateBigTexBundle); menu.AddItem(new GUIContent("Ai Bundle"), false, CreateAiBundle); menu.AddItem(new GUIContent("Child View"), false, CreateChildView); menu.AddItem(new GUIContent("Big Item Texture"), false, CreateBigItemTex); // menu.AddItem(new GUIContent("Head Icons"), false, CreateHeadIcons); menu.AddItem(new GUIContent("Newbie"), false, CreateNewbie); menu.AddItem(new GUIContent("Tavern Texture"), false, CreateTavernTex); menu.AddItem(new GUIContent("Create all Bundles"), false, CreateAllBundles); menu.AddItem(new GUIContent("Remove all Bundles"), false, RemoveAllBundles); menu.AddItem(new GUIContent("Clean cache Bundles"), false, CleanCacheBundles); menu.AddItem(new GUIContent("Clean old Bundles"), false, CleanOldBundles); menu.AddItem(new GUIContent("Build IIPS IFS"), false, BuildIIPSPack); } else { menu.AddItem(new GUIContent("Scene Bundle"), false, null); menu.AddItem(new GUIContent("Asset Bundle"), false, null); // menu.AddItem(new GUIContent("UIView Bundle"), false, null); // menu.AddItem(new GUIContent("Level Bundle"), false, null); menu.AddItem(new GUIContent("Player Bundle"), false, null); menu.AddItem(new GUIContent("Monster Bundle"), false, null); menu.AddItem(new GUIContent("Config Bundle"), false, null); menu.AddItem(new GUIContent("Equip Bundle"), false, null); menu.AddItem(new GUIContent("Audio Bundle"), false, null); menu.AddItem(new GUIContent("Skill Bundle"), false, null); menu.AddItem(new GUIContent("BitTex Bundle"), false, null); menu.AddItem(new GUIContent("Ai Bundle"), false, null); menu.AddItem(new GUIContent("Create all Bundle"), false, null); menu.AddItem(new GUIContent("Build IIPS IFS"), false, null); } menu.DropDown(createBtnRect); } // Build button Rect buildBtnRect = GUILayoutUtility.GetRect(new GUIContent("Build"), EditorStyles.toolbarDropDown, GUILayout.ExpandWidth(false)); if (GUI.Button(buildBtnRect, "Build", EditorStyles.toolbarDropDown)) { GenericMenu menu = new GenericMenu(); menu.AddItem(new GUIContent("Build Selection"), false, BuildSelection); menu.AddItem(new GUIContent("Rebuild Selection"), false, RebuildSelection); menu.AddItem(new GUIContent("Build All"), false, BuildAll); menu.AddItem(new GUIContent("Rebuild All"), false, RebuildAll); menu.AddItem(new GUIContent("Clear"), false, ClearOutputs); menu.DropDown(buildBtnRect); } GUILayout.FlexibleSpace(); if (GUILayout.Button("Settings", EditorStyles.toolbarButton)) { BMSettingsEditor.Show(); } } EditorGUILayout.EndHorizontal(); // Tree view m_ScrollPos = EditorGUILayout.BeginScrollView(m_ScrollPos); { m_CurrentShowingBundles.Clear(); foreach (BundleData rootBundle in BundleManager.Roots) { if (!GUI_TreeItem(0, rootBundle.name)) { Repaint(); break; } } m_LastTimeShowingBundles.Clear(); m_LastTimeShowingBundles.AddRange(m_CurrentShowingBundles); if (m_CurrentEditing == "") { ArrowKeyProcess(); HotkeyProcess(); } // Empty space for root selection Rect spaceRect = EditorGUILayout.BeginVertical(); GUILayout.Space(m_ItemHeight); EditorGUILayout.EndVertical(); RootSpaceProcess(spaceRect); } EditorGUILayout.EndScrollView(); Rect scrollViewRect = GUILayoutUtility.GetLastRect(); if (scrollViewRect.height != 1) { UpdateScrollBarBySelection(scrollViewRect.height); } } EditorGUILayout.EndVertical(); }