static void AddLayerToAssetsSort() { if (AssetsSortManagement.AddLayer(configLayerName)) { AssetsSortManagement.Save(); } }
static void EventFileChange() { AssetsSortManagement.Init(); PeojectAssetWillModificationEvent.OnCreateAssetCallBack += OnCreateAssetCallBack; PeojectAssetWillModificationEvent.OnDeleteAssetCallBack += OnDeleteAssetCallBack; PeojectAssetWillModificationEvent.OnMoveAssetCallBack += OnMoveAssetCallBack; PeojectAssetWillModificationEvent.OnSaveAssetsCallBack += OnSaveAssetsCallBack; }
void SetLayersTagsGUI() { pos0 = GUILayout.BeginScrollView(pos0, "box"); EditorDrawFileDirectory.DrawFileDirectory(resFileData, ShowFileDirectoryType.ShowAllFile, null, SelectCallback, true, ChooseCallBack); GUILayout.EndScrollView(); if (chooseItemList.Count > 0) { GUILayout.Label("设置:"); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); selectLayer = EditorDrawGUIUtil.DrawPopup("Layer", selectLayer, AssetsSortManagement.Layers); selectTag = EditorDrawGUIUtil.DrawPopup("Tag", selectTag, AssetsSortManagement.Tags); GUILayout.EndVertical(); if (GUILayout.Button("确定")) { for (int i = 0; i < chooseItemList.Count; i++) { string name = chooseItemList[i].FileNameWithoutExtension; AssetsSortManagement.SetLayerTag(name, selectLayer, selectTag); } } GUILayout.EndHorizontal(); for (int i = 0; i < chooseItemList.Count; i++) { GUILayout.BeginHorizontal(); GUILayout.Label(chooseItemList[i].content); GUILayout.FlexibleSpace(); string name = chooseItemList[i].FileNameWithoutExtension; LayersTagsData lt = AssetsSortManagement.GetLayersTagsData(name); if (lt != null) { GUILayout.Label("Layer: " + lt.layer + " Tag: " + lt.tag); } GUILayout.EndHorizontal(); } } }
public static void RefreshResData() { string[] paths = PathUtils.GetDirectoryFilePath(ResourcesAssetsPath); paths = PathUtils.RemovePathWithEnds(paths, new string[] { ".meta" }); if (instance) { instance.resFileData = EditorDrawFileDirectory.GetFileDirectoryInfo(paths, true); } List <string> nameList = new List <string>(); foreach (var item in paths) { string name = Path.GetFileNameWithoutExtension(item); AssetsSortManagement.AddNewDefultLayerTag(name); nameList.Add(name); } List <string> removeNames = new List <string>(); foreach (var item in AssetsSortManagement.LayersTagsDataList) { if (nameList.Contains(item.name)) { continue; } else { removeNames.Add(item.name); } } foreach (var item in removeNames) { AssetsSortManagement.DeleteLayersTagsItem(item); } //Debug.Log("RefreshResData"); }
void OnGUI() { toolbarOption = GUILayout.Toolbar(toolbarOption, toolbarTexts, GUILayout.Width(Screen.width)); switch (toolbarOption) { case 0: SetLayersTagsGUI(); break; case 1: SearchLayersTagesGUI(); break; case 2: AddLayersTagesGUI(); break; } if (GUILayout.Button("保存")) { AssetsSortManagement.Save(); } }
void Init() { fileNames.Clear(); string[] temp = AssetsSortManagement.GetNamesByLayer(configLayerName); fileNames.AddRange(temp); }
private void NewTableConfig() { GUILayout.BeginHorizontal("box"); newFileName = EditorDrawGUIUtil.DrawBaseValue("新建配置文件:", newFileName).ToString(); if (GUILayout.Button("确定", GUILayout.Width(50))) { if (ResourcePathManager.ContainsFileName(newFileName) || string.IsNullOrEmpty(newFileName)) { EditorUtility.DisplayDialog("警告", "名字不能为空或重复", "OK"); } else { chooseFileName = newFileName; fileNames.Add(newFileName); } } GUILayout.EndHorizontal(); if (string.IsNullOrEmpty(newFileName)) { return; } if (ResourcePathManager.ContainsFileName(newFileName)) { EditorGUILayout.HelpBox("文件名重复!!", MessageType.Error); return; } if (newConfigInfo == null) { newConfigInfo = new TableConfigOtherInfo(); } newConfigInfo.configDescription = EditorDrawGUIUtil.DrawBaseValue("配置文件描述:", newConfigInfo.configDescription).ToString(); GUILayout.Space(5); GUILayout.BeginHorizontal("box"); GUILayout.Box("添加字段:"); GUILayout.FlexibleSpace(); if (GUILayout.Button("+", GUILayout.Width(50))) { TableConfigFieldInfo f = new TableConfigFieldInfo(); f.fieldName = "NewField" + newConfigInfo.fieldInfoDic.Count; while (newConfigInfo.fieldInfoDic.ContainsKey(f.fieldName)) { f.fieldName += "_0"; } newConfigInfo.fieldInfoDic.Add(f.fieldName, f); } GUILayout.EndHorizontal(); DrawFieldData(newConfigInfo); if (newConfigInfo.fieldInfoDic.Count > 0 && GUILayout.Button("创建")) { GlobalEvent.AddEvent(EditorGlobalEventEnum.OnResourcesAssetsChange, (t) => { Debug.Log("OnResourcesAssetsChange"); AssetsSortManagement.SetLayer(newFileName, configLayerName); AssetsSortManagement.Save(); newFileName = ""; newConfigInfo = null; }, true); string content = TableConfigTool.ConfigInfo2TableText(newConfigInfo, null); string path = CreateConfigClassEditor.SaveConfigFilePath + "/" + newFileName + ".txt"; FileUtils.CreateTextFile(path, content); CreateConfigClassEditor.CreateConfigClassFile(content, newFileName); AssetDatabase.Refresh(); } }