Ejemplo n.º 1
0
 void AddDirs()
 {
     if (m_dirInfos == null)
     {
         return;
     }
     string[] pathes = EditorUtil.GetSelectedFoldersPathes(false);
     foreach (string str in pathes)
     {
         bool isAdd = false;
         for (int i = 0; i < m_dirInfos.Count; ++i)
         {
             if (m_dirInfos[i].Path == str)
             {
                 isAdd = true;
                 break;
             }
         }
         if (isAdd)
         {
             continue;
         }
         XRDirInfo info = new XRDirInfo {
             Path = str
         };
         m_dirInfos.Add(info);
     }
 }
Ejemplo n.º 2
0
 void RemoveDir()
 {
     if (XRDirInfo.Keys == null || XRDirInfo.Keys.Length == 0)
     {
         return;
     }
     if (m_iSelectIndex < XRDirInfo.Keys.Length)
     {
         XRDirInfo.RemoveDir(XRDirInfo.Keys[m_iSelectIndex]);
         m_iSelectIndex = 0;
     }
 }
Ejemplo n.º 3
0
 void CreateDir(bool isCopy)
 {
     if (string.IsNullOrEmpty(m_sCreateDirName))
     {
         this.ShowNotification(new GUIContent("目录名不能为空"));
         return;
     }
     if (XRDirInfo.AddDir(m_sCreateDirName, isCopy?m_dirInfos:null))
     {
         this.ShowNotification(new GUIContent("创建成功"));
         XRDirInfo.Save();
     }
     else
     {
         this.ShowNotification(new GUIContent("创建失败"));
     }
 }
Ejemplo n.º 4
0
    void OnGUI()
    {
        GUILayout.Label("目录", EditorStyles.boldLabel);
        if (XRDirInfo.Keys == null || XRDirInfo.Keys.Length == 0)
        {
            GUILayout.Label("当前没有目录");
            m_dirInfos = null;
        }
        else
        {
            m_iSelectIndex = EditorGUILayout.Popup(m_iSelectIndex, XRDirInfo.Keys);
            m_dirInfos     = XRDirInfo.GetDirInfos(XRDirInfo.Keys[m_iSelectIndex]);
        }
        m_sCreateDirName = EditorGUILayout.TextField("输入创建目录名", m_sCreateDirName, GUILayout.MinWidth(100));
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("创建目录"))
        {
            CreateDir(false);
        }
        if (GUILayout.Button("复制当前目录"))
        {
            CreateDir(true);
        }
        if (GUILayout.Button("移除当前目录"))
        {
            RemoveDir();
        }
        if (GUILayout.Button("保存所有"))
        {
            XRDirInfo.Save();
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Label("目录管理", EditorStyles.boldLabel);
        m_vScrollPos = EditorGUILayout.BeginScrollView(m_vScrollPos);
        if (m_dirInfos != null)
        {
            for (int i = 0; i < m_dirInfos.Count; ++i)
            {
                EditorGUILayout.BeginHorizontal();
                m_dirInfos[i].IsSelected = EditorGUILayout.Toggle(m_dirInfos[i].IsSelected, GUILayout.MaxWidth(25));
                EditorGUILayout.LabelField(m_dirInfos[i].Path);
                if (GUILayout.Button("X", GUILayout.MaxWidth(25)))
                {
                    m_dirInfos.RemoveAt(i);
                }
                EditorGUILayout.EndHorizontal();
            }
        }
        EditorGUILayout.EndScrollView();
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("添加选定目录", GUILayout.MaxWidth(100)))
        {
            AddDirs();
        }
        if (GUILayout.Button("导出当前目录", GUILayout.MaxWidth(100)))
        {
            TempExport();
        }
        EditorGUILayout.EndHorizontal();
    }
Ejemplo n.º 5
0
 void OnEnable()
 {
     XRDirInfo.LoadDataMap();
     Debug.Log("开启目录管理");
 }
Ejemplo n.º 6
0
 void OnDisable()
 {
     XRDirInfo.Save();
     XRDirInfo.UnLoadDataMap();
     Debug.Log("关闭目录管理");
 }