Exemplo n.º 1
0
 static void AddLayerToAssetsSort()
 {
     if (AssetsSortManagement.AddLayer(configLayerName))
     {
         AssetsSortManagement.Save();
     }
 }
Exemplo n.º 2
0
 static void EventFileChange()
 {
     AssetsSortManagement.Init();
     PeojectAssetWillModificationEvent.OnCreateAssetCallBack += OnCreateAssetCallBack;
     PeojectAssetWillModificationEvent.OnDeleteAssetCallBack += OnDeleteAssetCallBack;
     PeojectAssetWillModificationEvent.OnMoveAssetCallBack   += OnMoveAssetCallBack;
     PeojectAssetWillModificationEvent.OnSaveAssetsCallBack  += OnSaveAssetsCallBack;
 }
Exemplo n.º 3
0
    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();
            }
        }
    }
Exemplo n.º 4
0
    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");
    }
Exemplo n.º 5
0
    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();
        }
    }
Exemplo n.º 6
0
 void Init()
 {
     fileNames.Clear();
     string[] temp = AssetsSortManagement.GetNamesByLayer(configLayerName);
     fileNames.AddRange(temp);
 }
Exemplo n.º 7
0
    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();
        }
    }