public virtual void CustomShowFilter()
        {
            GUILayout.BeginHorizontal();

            EditorGUI.BeginChangeCheck();
            currentFilterStr = GUILayout.TextField(currentFilterStr, new GUIStyle("SearchTextField"), GUILayout.Width(300));
            if (EditorGUI.EndChangeCheck())
            {
                checker.RefreshCheckResult();
            }

            EditorGUI.BeginChangeCheck();
            currentFliterType = EditorGUILayout.Popup(currentFliterType, filterTypeArray, GUILayout.Width(150));
            if (EditorGUI.EndChangeCheck())
            {
                currentFilterStr = "";
                checker.RefreshCheckResult();
            }

            EditorGUI.BeginChangeCheck();
            positive = GUILayout.Toggle(positive, positive ? "正向" : "反向", GUILayout.Width(40));
            if (EditorGUI.EndChangeCheck())
            {
                checker.RefreshCheckResult();
            }

            if (parentFilterNode == null)
            {
                if (GUILayout.Button("增加筛选", GUILayout.Width(60)))
                {
                    AddFilterNode(new FilterItem(checker));
                }
                EditorGUI.BeginChangeCheck();
                filterType = (FilterType)EditorGUILayout.EnumPopup(filterType, GUILayout.Width(100));
                if (EditorGUI.EndChangeCheck())
                {
                    checker.RefreshCheckResult();
                }
                checker.ShowOptionButton();
            }
            else
            {
                if (GUILayout.Button("删除筛选", GUILayout.Width(60)))
                {
                    RemoveFilterNode();
                    checker.RefreshCheckResult();
                }
            }
            GUILayout.EndHorizontal();
        }
Exemple #2
0
        public void OnRefButtonClick(ObjectDetail detail)
        {
            ResCheckModuleBase curCheckModule = ResourceCheckerPlus.instance.CurrentCheckModule();

            if (!(curCheckModule is DirectResCheckModule) && CheckerConfigManager.checkerConfig.autoFilterOnSideBarButtonClick)
            {
                ObjectChecker checker = ResourceCheckerPlus.instance.CurrentCheckModule().CurrentActiveChecker();
                if (checker is ParticleChecker || checker is GameObjectChecker)
                {
                    return;
                }
                RefFilterItem filter = new RefFilterItem(checker);
                checker.filterItem.Clear(true);
                filter.checkObjList = SelectList.Select(x => x.checkObject).ToList();
                checker.filterItem.AddFilterNode(filter);
                checker.RefreshCheckResult();
            }
        }