/// <summary> /// DrawBrower /// </summary> void DrawBrower() { EditorGUILayout.LabelField("XlsSchemaToSqlite Folders:"); mConfig.DrawGUI(); EditorGUILayout.Separator(); EditorGUILayout.HelpBox(EditorStrayFogXLS.msrSeparateDescription, MessageType.None); if (GUILayout.Button("SQLiteDataType Code Sequence")) { EditorStrayFogApplication.CopyToClipboard(EditorStrayFogXLS.msrSQLiteDataTypeCodeSequence); Debug.Log(EditorStrayFogXLS.msrSQLiteDataTypeCodeSequence); } EditorGUILayout.Separator(); if (GUILayout.Button("Load XLS")) { mXlsTableSchemas = EditorStrayFogXLS.ReadXlsSchema(); } EditorGUILayout.Separator(); }
/// <summary> /// 绘制节点 /// </summary> void DrawAssetNodes() { #region mSearchWindowName 搜索 mSearchWindowName = EditorGUILayout.TextField("Search Window Name", mSearchWindowName); #endregion EditorGUILayout.Separator(); #region RenderMode 窗口绘制类别 #region 批量选择 EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Selected All RenderMode")) { AdjustRenderModeSelected(1); } if (GUILayout.Button("UnSelected All RenderMode")) { AdjustRenderModeSelected(-1); } if (GUILayout.Button("Reverse All RenderMode")) { AdjustRenderModeSelected(0); } EditorGUILayout.EndHorizontal(); #endregion EditorGUILayout.Separator(); #region 显示操作 EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Window Render Mode", GUILayout.ExpandWidth(false)); foreach (RenderMode rm in mRenderModes) { mSearchWindowRenderMode[(int)rm] = EditorGUILayout.ToggleLeft(rm.ToString(), mSearchWindowRenderMode[(int)rm], GUILayout.ExpandWidth(false)); } EditorGUILayout.EndHorizontal(); #endregion #endregion EditorGUILayout.Separator(); #region enUIWindowLayer 窗口层级 #region 批量选择 EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Selected All Layer")) { AdjustWindowMinLayerSelected(1); } if (GUILayout.Button("UnSelected All Layer")) { AdjustWindowMinLayerSelected(-1); } if (GUILayout.Button("Reverse All Layer")) { AdjustWindowMinLayerSelected(0); } EditorGUILayout.EndHorizontal(); #endregion EditorGUILayout.Separator(); #region 显示操作 EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Window Layer", GUILayout.ExpandWidth(false)); mWindowMinLayerScrollViewPosition = EditorGUILayout.BeginScrollView(mWindowMinLayerScrollViewPosition, GUILayout.ExpandHeight(false)); EditorGUILayout.BeginHorizontal(); foreach (KeyValuePair <int, string> key in msrWindowMinLayerMaping) { mSearchWindowMinLayer[key.Key] = EditorGUILayout.ToggleLeft(key.Value, mSearchWindowMinLayer[key.Key], GUILayout.ExpandWidth(false)); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndScrollView(); EditorGUILayout.EndHorizontal(); #endregion #endregion EditorGUILayout.Separator(); #region isDraw 计算是否绘制 if (mWindows != null && mWindows.Count > 0) { for (int i = 0; i < mWindows.Count; i++) { mWindows[i].isDraw = //名称过滤 (string.IsNullOrEmpty(mSearchWindowName) || Regex.IsMatch(mWindows[i].nameWithoutExtension, string.Format(@"({0})+?\w*", mSearchWindowName.Replace(",", "|")), RegexOptions.IgnoreCase)) && //绘制类别过滤 mSearchWindowRenderMode[(int)mWindows[i].assetNode.renderMode] && //窗口最小Layer mSearchWindowMinLayer[(int)mWindows[i].assetNode.layer]; } } #endregion #region 绘制窗口属性列表 mRemoveWindows.Clear(); if (mWindows != null && mWindows.Count > 0) { mScrollViewPosition = EditorGUILayout.BeginScrollView(mScrollViewPosition); EditorGUILayout.BeginVertical(); for (int i = 0; i < mWindows.Count; i++) { if (mWindows[i].isDraw) { EditorGUILayout.BeginHorizontal(); #region 显示属性 EditorGUILayout.LabelField( string.Format("{0}=>【{1}】{2}", string.Format("{0}.{1}", (i + 1).PadLeft(mWindows.Count), mWindows[i].nameWithoutExtension), mWindows[i].assetNode.renderMode.ToString(), msrWindowMinLayerMaping[(int)mWindows[i].assetNode.layer] ) ); #endregion EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); #region Setting 按钮 if (GUILayout.Button("Setting")) { EditorStrayFogApplication.PingObject(mWindows[i].assetNode); } #endregion #region Brower 按钮 if (GUILayout.Button("Brower")) { EditorStrayFogApplication.PingObject(mWindows[i].path); } #endregion #region Select 按钮 if (GUILayout.Button("Select")) { mSearchWindowName = mWindows[i].nameWithoutExtension; } #endregion #region Delete 按钮 if (GUILayout.Button("Delete")) { int delScriptIndex = -1; if (EditorStrayFogSavedAssetConfig.setFolderConfigForUIWindowPrefab.paths != null && EditorStrayFogSavedAssetConfig.setFolderConfigForUIWindowPrefab.paths.Length > 0) { string path = Path.GetDirectoryName(mWindows[i].directory).TransPathSeparatorCharToUnityChar(); for (int p = 0; p < EditorStrayFogSavedAssetConfig.setFolderConfigForUIWindowPrefab.paths.Length; p++) { if (path.Equals(EditorStrayFogSavedAssetConfig.setFolderConfigForUIWindowPrefab.paths[i])) { delScriptIndex = p; break; } } } if (delScriptIndex >= 0) { string delPrefabDirectory = mWindows[i].directory; string delScriptDirectory = Path.Combine(EditorStrayFogSavedAssetConfig.setFolderConfigForUIWindowScript.paths[delScriptIndex], Path.GetFileName(mWindows[i].directory)); string delAssetPath = AssetDatabase.GetAssetPath(mWindows[i].assetNode); mSbInfo.Length = 0; mSbInfo.AppendLine("Do you want to delete window ?"); mSbInfo.AppendLine(string.Format("Window =>{0}", mWindows[i].path)); mSbInfo.AppendLine("It will delete follow asset:"); mSbInfo.AppendLine(string.Format("1. Del Prefab Folder => {0}", delPrefabDirectory)); mSbInfo.AppendLine(string.Format("2. Del Script Folder => {0}", delScriptDirectory)); mSbInfo.AppendLine(string.Format("3. Del Asset => {0}", delAssetPath)); mSbInfo.AppendLine(string.Format("4. Del SQLite UIWindowSetting Where id={0}", mWindows[i].winId)); if (EditorUtility.DisplayDialog("Delete", mSbInfo.ToString(), "Yes", "No")) { mRemoveWindows.Add(i); EditorStrayFogUtility.cmd.DeleteFolder(delPrefabDirectory); EditorStrayFogUtility.cmd.DeleteFolder(delScriptDirectory); File.Delete(delAssetPath); EditorStrayFogXLS.DeleteUIWindowSetting(mWindows[i].winId); break; } } } #endregion EditorGUILayout.EndHorizontal(); } } EditorGUILayout.EndVertical(); EditorGUILayout.EndScrollView(); if (mRemoveWindows.Count > 0) { foreach (int index in mRemoveWindows) { mWindows.RemoveAt(index); } BuilderWindowEnum(); } } #endregion #region 显示窗口 if (GUILayout.Button("Display UIWindow")) { mWindows = EditorStrayFogGlobalVariable.CollectUIWindowSettingAssets <EditorSelectionUIWindowSetting>(); } #endregion #region 保存设置 if (GUILayout.Button("Save Window Setting")) { BuilderWindowEnum(); } #endregion }