protected override void CustomOnGUI() { EditorUIHelper.BeginHorizontal(); { _curModelType = EditorUIHelper.EnumPopup <ModelType>(_curModelType); if (GUI.changed) { Refresh(); } EditorUIHelper.Button("刷新", Refresh); } EditorUIHelper.EndHorizontal(); EditorUIHelper.Space(); _search = EditorUIHelper.SearchCancelTextField(_search); EditorUIHelper.Space(); _scroll = EditorUIHelper.BeginScrollView(_scroll); { for (int i = 0; i < _models.Count; i++) { var importer = _modelImporters[i]; var model = _models[i]; if (!string.IsNullOrEmpty(_search)) { if (!model.name.Contains(_search)) { continue; } } EditorUIHelper.DrawLine(); EditorUIHelper.BeginHorizontal(); { EditorUIHelper.ObjectField(model); EditorUIHelper.Toggle("绑点优化状态", importer.animationType == ModelImporterAnimationType.Generic && importer.optimizeGameObjects); EditorUIHelper.Button("优化绑点", () => EditorHelper.Run(() => ModelOptimizeHelper.OptimizeGameObject(importer))); EditorUIHelper.Button("还原绑点", () => EditorHelper.Run(() => ModelOptimizeHelper.RevertOptimizeGameObject(importer))); } EditorUIHelper.EndHorizontal(); } } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { if (_msg != null) { EditorUIHelper.TitleField(_msg); EditorUIHelper.Space(); } _search = EditorUIHelper.SearchCancelTextField(_search); _searchFilter = EditorUIHelper.EnumPopup <EditorAssetHelper.SearchFilter>(_searchFilter, "SearchFilter"); EditorUIHelper.TitleField("数量:", (_goList != null ? _goList.Count : 0).ToString()); EditorUIHelper.Space(); _ListScroll = EditorUIHelper.BeginScrollView(_ListScroll); { var count = _goList != null ? _goList.Count : 0; var needSearch = !string.IsNullOrEmpty(_search); for (int i = 0; i < count; i++) { var go = _goList[i]; if (needSearch && !go.name.Contains(_search)) { continue; } if (!EditorAssetHelper.IsMatch(go, _searchFilter)) { continue; } EditorUIHelper.DrawLine(); EditorUIHelper.BeginHorizontal(); { EditorUIHelper.ObjectField(go, null, string.Empty, true); EditorUIHelper.Button("选中", () => EditorAssetHelper.SelectObject(go)); var index = i; EditorUIHelper.Button("移除", () => RemoveGo(index)); } EditorUIHelper.EndHorizontal(); } } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { _showType = EditorUIHelper.EnumPopup <ShowType>(_showType, "显示:"); EditorUIHelper.Space(); var dict = _showType == ShowType.All ? MonoFieldDict : UnSafeMonoFieldDict; _scrool = EditorUIHelper.BeginScrollView(_scrool); { foreach (var keyValue in dict) { EditorUIHelper.Space(); EditorUIHelper.ObjectField(keyValue.Key); foreach (var fieldInfo in keyValue.Value) { EditorUIHelper.LabelField(fieldInfo.Name); } } } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { EditorUIHelper.BeginChangeCheck(); { _selectedIndex = EditorUIHelper.Popup("类型:", _selectedIndex, AssetImporterTypeStrs); } if (EditorUIHelper.EndChangeCheck()) { ClearData(); } var op = Operator; if (op != null) { EditorUIHelper.Space(); EditorUIHelper.BeginHorizontal(); { _showTypeIndex = EditorUIHelper.Toolbar(_showTypeIndex, _showTypes); } EditorUIHelper.EndHorizontal(); EditorUIHelper.Space(); EditorUIHelper.BeginChangeCheck(); { _searchText = EditorUIHelper.SearchCancelTextField(_searchText); } if (EditorUIHelper.EndChangeCheck()) { ClearData(); } EditorUIHelper.Space(); _showTypeScroll = EditorUIHelper.BeginScrollView(_showTypeScroll); { ShowTypePanel(); } EditorUIHelper.EndScrollView(); } }
private static void PreferenceOnGUI() { EditorUIHelper.BeginHorizontal(); { EditorUIHelper.Button("读取", () => { _externalSo = null; }); EditorUIHelper.Button("保存", SaveScriptableObject); EditorUIHelper.Button("增加", () => { ExternalSo.ToolList.Add(new ExternalScriptableObject.ExternalTool()); }); } EditorUIHelper.EndHorizontal(); _scroll = EditorUIHelper.BeginScrollView(_scroll); { foreach (var externalTool in ExternalSo.ToolList) { EditorUIHelper.Space(); externalTool.ToolPath = EditorUIHelper.TextField("路径:", externalTool.ToolPath); externalTool.Extension = EditorUIHelper.TextField("后缀:", externalTool.Extension); var tool = externalTool; EditorUIHelper.Button("删", () => { EditorApplication.delayCall += () => { ExternalSo.ToolList.Remove(tool); }; }); } } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { _curAnalyzerIndex = EditorUIHelper.Popup("选择分析器:", _curAnalyzerIndex, AssetAnalyzerStrs); EditorUIHelper.Space(); EditorUIHelper.Button("搜索", () => { CurAnalyzer.Analyse(Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.DeepAssets)); }); EditorUIHelper.Space(); EditorUIHelper.Button("修正全部", () => { CurAnalyzer.CorrectAll(); }); EditorUIHelper.Space(); _analyzerScroll = EditorUIHelper.BeginScrollView(_analyzerScroll); { CurAnalyzer.ShowResult(); } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { EditorUIHelper.BeginHorizontal(); { _searchType = EditorUIHelper.SearchCancelTextField(_searchType); EditorUIHelper.Button("Caculate", Calculate); EditorUIHelper.Button("CaculateAll", CaulateAll); } EditorUIHelper.EndHorizontal(); _scroll = EditorUIHelper.BeginScrollView(_scroll); { foreach (var keyValue in _monoFieldDict) { EditorUIHelper.DrawLine(); EditorUIHelper.TextField("Type:", keyValue.Key); foreach (var method in keyValue.Value) { EditorUIHelper.TextField("Field:", method); } } EditorUIHelper.Space(); foreach (var keyValue in _monoMethodDict) { EditorUIHelper.DrawLine(); EditorUIHelper.TextField("Type:", keyValue.Key); foreach (var method in keyValue.Value) { EditorUIHelper.TextField("Method:", method); } } } EditorUIHelper.EndScrollView(); }
protected override void CustomOnGUI() { _maxHits = EditorUIHelper.IntSlider("射线最多碰撞次数(检测叠层的时候才需要)", _maxHits, MinHitNums, MaxHitNums); _checkLayerMask = EditorUIHelper.LayerMask(_checkLayerMask, "检测层(涉及层)"); _generateLayerMask = EditorUIHelper.LayerMask(_generateLayerMask, "生成层(某些层的内外围)"); EditorUIHelper.Space(); _calculateType = EditorUIHelper.EnumPopup <SceneInfoCalculation.CalculateType>(_calculateType, "筛选条件(如内外围)"); _minRange = EditorUIHelper.IntSlider("边界最近距离(-1代表全部)", _minRange, MinRange, MaxRange); _maxRange = EditorUIHelper.IntSlider("影响最远距离(-1代表全部)", _maxRange, MinRange, MaxRange); EditorUIHelper.Space(); EditorUIHelper.Button("刷新", Refresh); EditorUIHelper.Space(); EditorUIHelper.ObjectField <Texture>(_previewTexture, "预览"); EditorUIHelper.Space(); _noise = EditorUIHelper.Vector4Field("noise偏移及缩放", _noise); _noiseThreshold = EditorUIHelper.Slider("noise阈值", _noiseThreshold, 0, 1); EditorUIHelper.Button("叠加噪声图", CompositionNoise); EditorUIHelper.Space(); EditorUIHelper.ObjectField <Texture>(_finalTexture, "叠加噪声图之后"); EditorUIHelper.Space(); _parent = EditorUIHelper.ObjectField <Transform>(_parent, "父节点", true); _clearParent = EditorUIHelper.Toggle("清理父节点", _clearParent); _space = EditorUIHelper.IntSlider("间隔(密度)", _space, MinSpace, MaxSpace); EditorUIHelper.Space(); EditorUIHelper.BeginScrollView(_scenePrefabScrollPos); var deletePrefabIndex = -1; for (int i = 0; i < _scenePrefabs.Count; i++) { var scenePrefab = _scenePrefabs[i]; EditorUIHelper.BeginHorizontal(); scenePrefab.Prefab = EditorUIHelper.ObjectField <GameObject>(scenePrefab.Prefab); scenePrefab.Weight = EditorUIHelper.IntSlider("权重", scenePrefab.Weight, MinWeight, MaxWeight); var i1 = i; EditorUIHelper.Button("删除", () => { deletePrefabIndex = i1; }); EditorUIHelper.EndHorizontal(); EditorUIHelper.BeginHorizontal(); scenePrefab.MinScale = EditorUIHelper.Slider("缩放随机最小值", scenePrefab.MinScale, MinScale, MaxScale); scenePrefab.MaxScale = EditorUIHelper.Slider("缩放随机最大值", scenePrefab.MaxScale, MinScale, MaxScale); EditorUIHelper.EndHorizontal(); EditorUIHelper.Space(); } if (deletePrefabIndex >= 0) { _scenePrefabs.RemoveAt(deletePrefabIndex); } EditorUIHelper.Button("添加", () => _scenePrefabs.Add(new ScenePrefab())); EditorUIHelper.EndScrollView(); EditorUIHelper.Space(); EditorUIHelper.Button("生成", Generate); }