void OnGUI() { var topRect = new Rect(5, 5, position.width - 10, 21); GUILayout.BeginArea(topRect); using (new EditorGUILayout.HorizontalScope()) { if (GUILayout.Button("Add Bundle")) { data.bundles.Add(new BundleBuilderData.BundleInfo() { id = ++data.id, name = $"bundle_{data.id}{BundleBuilderData.Ext}", }); _treeView.Reload(); } GUILayout.FlexibleSpace(); } GUILayout.EndArea(); var treeViewRect = new Rect(5, 28, position.width - 10, position.height - 56); _treeView.OnContextMenu(treeViewRect); _treeView.OnGUI(treeViewRect); var bottomRect = new Rect(5, treeViewRect.yMax + 5, treeViewRect.width, 21); GUILayout.BeginArea(bottomRect); using (new EditorGUILayout.HorizontalScope()) { if (GUILayout.Button("Delete")) { _treeView.DeleteSelectedItems(); } GUILayout.FlexibleSpace(); // if (GUILayout.Button("Expand All")) // { // _treeView.ExpandAll(); // } if (GUILayout.Button("Collapse All")) { _treeView.CollapseAll(); } if (GUILayout.Button("Expand All")) { _treeView._ExpandAll(); } GUILayout.Space(20f); if (GUILayout.Button("Refresh")) { _treeView.Reload(); } if (GUILayout.Button("Show Bundle Assets")) { _treeView.ShowBundleReport(); } if (GUILayout.Button("Build")) { EditorApplication.delayCall += () => { BundleBuilder.Build(data, "out/AssetBundles", EditorUserBuildSettings.activeBuildTarget); }; } } GUILayout.EndArea(); if (dirty) { data.MarkAsDirty(); dirty = false; } }
private void OnDrawPackages() { var margin = 5f; var autoRect = EditorGUILayout.GetControlRect(GUILayout.Height(1f)); var treeViewTop = autoRect.yMax; var bottomHeight = 21f; var treeViewRect = new Rect(5, treeViewTop + margin, position.width - 10, position.height - treeViewTop - bottomHeight - margin * 3f); var bottomRect = new Rect(5, treeViewRect.yMax + margin, treeViewRect.width, bottomHeight); _treeView.OnContextMenu(treeViewRect); _treeView.OnGUI(treeViewRect); GUILayout.BeginArea(bottomRect); using (new EditorGUILayout.HorizontalScope()) { if (GUILayout.Button("Add Bundle")) { _data.bundles.Add(new BundleBuilderData.BundleInfo() { id = ++_data.id, name = $"bundle_{_data.id}{BundleBuilderData.FileExt}", }); _treeView.Reload(); } if (GUILayout.Button("Add Asset List")) { CreateAssetListData(); } GUI.color = Color.red; if (GUILayout.Button("Delete")) { _treeView.DeleteSelectedItems(); } GUI.color = _GUIColor; GUILayout.FlexibleSpace(); GUILayout.Space(20f); if (GUILayout.Button("Reload")) { Reload(); } GUILayout.Space(20f); EditorGUILayout.LabelField("Targets", GUILayout.Width(46f)); var platforms = (PackagePlatform)EditorGUILayout.EnumPopup(_platform, GUILayout.Width(90f)); if (platforms != _platform) { _platform = platforms; EditorPrefs.SetInt(KeyForPackagePlatforms, (int)_platform); } if (GUILayout.Button("Build Packages")) { BundleBuilder.BuildPackages(_data, "", _platform); } } GUILayout.EndArea(); }