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("创建失败")); } }
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(); }
void OnDisable() { XRDirInfo.Save(); XRDirInfo.UnLoadDataMap(); Debug.Log("关闭目录管理"); }