Пример #1
0
        private void GarbageCollectionPanel()
        {
            #region 处理区域
            HandleHorizontalResize(); //拖动分割条时的处理
            if (resizingSplitter)
            {
                Repaint();
            }
            else //改变窗体尺寸时的处理
            {
                rightRect.width = position.width - splitterRect.x - splitterWidth - margin;
                leftRect.height = rightRect.height = splitterRect.height = position.height - headHeight - margin;
            }
            #endregion

            using (new GUILayout.AreaScope(leftRect))
            {
                EditorGUILayout.Separator();

                GUILayout.Label("Asset Directories:");
                module.ModuleConfig.Json.AssetsDirectories = EditorGUILayout.TextArea(module.ModuleConfig.Json.AssetsDirectories);
                EditorGUILayout.Separator();

                GUILayout.Label("Exclude Extensions When BuildBundles:");
                module.ModuleConfig.Json.ExcludeExtensionsWhenBuildBundles = EditorGUILayout.TextArea(module.ModuleConfig.Json.ExcludeExtensionsWhenBuildBundles);
                EditorGUILayout.Separator();

                GUILayout.Label("Exclude SubString When Find:");
                module.ModuleConfig.Json.ExcludeSubStringWhenFind = EditorGUILayout.TextArea(module.ModuleConfig.Json.ExcludeSubStringWhenFind);
                EditorGUILayout.Separator();

                GUILayout.Label("Dependence Root Directories:  (Use \"" + module.ModuleConfig.Json.Separator + "\" Add Available Extension)", GUILayout.MinWidth(50));
                module.ModuleConfig.Json.DependenceFilterDirectories = EditorGUILayout.TextArea(module.ModuleConfig.Json.DependenceFilterDirectories);
                EditorGUILayout.Separator();

                GUILayout.Label("Dry Build Bundles OutPutPath:");
                GUILayout.BeginHorizontal();
                module.ModuleConfig.Json.OutputPath = EditorGUILayout.TextField(module.ModuleConfig.Json.OutputPath);
                if (GUILayout.Button("..", GUILayout.MaxWidth(20)))
                {
                    string s = EditorUtility.OpenFolderPanel("Open Folder", module.ModuleConfig.Json.OutputPath, null);
                    if (s != "")
                    {
                        module.ModuleConfig.Json.OutputPath = s;
                    }
                }
                GUILayout.EndHorizontal();
                EditorGUILayout.Separator();

                using (new GUILayout.HorizontalScope())
                {
                    if (GUILayout.Button("Save") && EditorUtility.DisplayDialog("Save", "确定保存配置?", "确定", "取消"))
                    {
                        module.ModuleConfig.Save();
                    }
                    if (GUILayout.Button("Build"))
                    {
                        try { Check(); }
                        catch (Exception e)
                        {
                            EditorUtility.DisplayDialog("Check Failed", e.Message, "确定");
                            return;
                        }
                        if (!Directory.Exists(module.ModuleConfig.Json.OutputPath))
                        {
                            EditorUtility.DisplayDialog("错误", "输出目录不存在:" + module.ModuleConfig.Json.OutputPath, "确定");
                            return;
                        }
                        //if (EditorUtility.DisplayDialog("Find No Reference Assets", "确定开始?", "确定", "取消"))
                        {
                            Run();
                        }
                    }
                }
            }
            assetTree.OnGUI(rightRect);
        }