/// <summary> /// 创建预置 /// </summary> /// <param name="_prefab">prefab配置</param> void OnCreatePrefab(EditorEngineAssetConfig _prefab) { if (!EditorStrayFogUtility.assetBundleName.IsIllegalFile(_prefab.name)) { bool isCreate = true; if (File.Exists(_prefab.fileName)) { isCreate = EditorUtility.DisplayDialog("Exists Prefab", "The prefab '" + _prefab.fileName + "' already exists,are you sure want to cover it?", "Yes", "No"); } if (isCreate) { _prefab.CreateAsset(); GameObject prefab = PrefabUtility.LoadPrefabContents(_prefab.fileName); prefab.layer = LayerMask.NameToLayer("UI"); prefab.AddComponent <RectTransform>(); PrefabUtility.SaveAsPrefabAsset(prefab, _prefab.fileName); AssetDatabase.SaveAssets(); EditorStrayFogApplication.PingObject(prefab); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); EditorUtility.DisplayDialog("Create New Window Prefab", "Create window prefab is complete.", "OK"); } } else { EditorUtility.DisplayDialog("Illegal Name", "Window Name is not legal.", "OK"); } }
/// <summary> /// 是否有相同的脚本 /// </summary> /// <param name="_script">脚本</param> /// <param name="_winName">窗口名称</param> /// <returns>true:是,false:否</returns> bool OnSameScript(EditorTextAssetConfig _script, string _winName) { bool hasSame = false; if (mScriptConfig.paths != null && mScriptConfig.paths.Length > 0) { string directory = string.Empty; string name = string.Empty; string path = string.Empty; foreach (string p in mScriptConfig.paths) { name = OnGetName(_winName); directory = OnGetDirectory(p, _winName).TransPathSeparatorCharToUnityChar(); path = Path.Combine(directory, name + _script.extAttribute.ext).TransPathSeparatorCharToUnityChar(); if (!_script.directory.Equals(directory) && File.Exists(path)) { hasSame = true; EditorGUILayout.HelpBox("The same script in =>" + path, MessageType.Error); EditorStrayFogApplication.PingObject(path); break; } } } return(hasSame); }
/// <summary> /// DrawAssetNodes /// </summary> private void DrawAssetNodes() { mScrollViewPosition = EditorGUILayout.BeginScrollView(mScrollViewPosition); for (int i = 0; i < mAsmdefs.Count; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(string.Format("{0}. 【{1}】", (i + 1).PadLeft(mAsmdefs.Count), mAsmdefs[i].name)); mAsmdefs[i].assetNode.isHotfix = EditorGUILayout.ToggleLeft("isHotfix", mAsmdefs[i].assetNode.isHotfix); if (GUILayout.Button("Setting")) { EditorStrayFogApplication.PingObject(mAsmdefs[i].assetNode); } if (GUILayout.Button("Brower")) { EditorStrayFogApplication.PingObject(mAsmdefs[i].path); } if (GUILayout.Button("Reveal")) { EditorStrayFogApplication.RevealInFinder(mAsmdefs[i].path); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); if (GUILayout.Button("Export Asmdef Map To XLS")) { EditorStrayFogExecute.ExecuteAsmdefToXLS(); EditorUtility.DisplayDialog("Asmdef Map", "ExportAsmdefMapToXLS successed.", "OK"); } }
/// <summary> /// 保存宏定义符号 /// </summary> /// <param name="_symbols">宏定义符号</param> public void SaveMacroDefineScriptingDefineSymbols(Dictionary <int, EditorMacroDefineSymbol> _symbols) { List <string> saveDefines = new List <string>(); List <string> removeDefines = new List <string>(); foreach (EditorMacroDefineSymbol key in _symbols.Values) { foreach (EditorMacroDefineSymbol_Item d in key.defineMaping.Values) { if (d.isChecked) { if (!saveDefines.Contains(d.name)) { saveDefines.Add(d.name); } } else { if (!removeDefines.Contains(d.name)) { removeDefines.Add(d.name); } } } } EditorStrayFogApplication.RemoveScriptingDefineSymbol(removeDefines.ToArray()); EditorStrayFogApplication.AddScriptingDefineSymbol(saveDefines.ToArray()); }
static void EditorProjectMenuItem_ExecuteBuildProjectAssets() { EditorStrayFogExecute.ExecuteBuildProjectAssets <StrayFogRunningApplication>(); EditorStrayFogExecute.ExecuteBuildProjectAssets <StrayFogSetting>(); EditorStrayFogExecute.ExecuteHotfixAsmdefSetting(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildProjectAssets); }
/// <summary> /// 执行发包 /// </summary> void OnExecuteBuildPackage() { if (EditorStrayFogApplication.MenuItemQuickDisplayDialog_OKCancel("Are you sure ExecuteBuildPackage?")) { EditorStrayFogExecute.ExecuteBuildPackage(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed("ExecuteBuildPackage"); } }
public static void EditorDevelopMenuItem_ClearAllAssetBundleNameWindow() { if (EditorStrayFogApplication.IsExecuteMethodInCmd() || EditorUtility.DisplayDialog(mcClearAllAssetBundleName, "Are you sure 【" + mcClearAllAssetBundleName + "】?", "Yes", "No")) { EditorStrayFogExecute.ExecuteClearAllAssetBundleName(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcClearAllAssetBundleName); } }
/// <summary> /// DrawAssetNodes /// </summary> private void DrawAssetNodes() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build All AssetDiskMaping")) { EditorStrayFogExecute.ExecuteBuildAllAssetDiskMaping(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed("Build All AssetDiskMaping"); } EditorGUILayout.EndHorizontal(); }
public static void EditorAssetBundleNameMenuItem_QueryAssetBundleAssetDiskMapingDataWindow() { if (Selection.activeObject != null) { EditorSelectionAssetDiskMaping asset = new EditorSelectionAssetDiskMaping(AssetDatabase.GetAssetPath(Selection.activeObject)); asset.Resolve(); string log = string.Format("{0}=>fileId:{1} folderId:{2}", Selection.activeObject, asset.fileId, asset.folderId); EditorStrayFogApplication.CopyToClipboard(log); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcQueryAssetBundleAssetDiskMapingData); UnityEngine.Debug.Log(log); } }
/// <summary> /// DrawAssetNodes /// </summary> private void DrawAssetNodes() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build Dynamic Dll")) { if (EditorStrayFogExecute.ExecuteBuildDynamicDll()) { EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed("Build Dynamic Dll"); } EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } EditorGUILayout.EndHorizontal(); }
static void EditorAssetBundleNameMenuItem_EditorWindowSetAssetBundleName() { if (EditorStrayFogApplication.IsExecuteMethodInCmd()) { EditorStrayFogExecute.ExecuteSetAssetBundleName(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcSetAssetBundleName); } else { EditorWindowSetAssetBundleName win = EditorWindow.GetWindow <EditorWindowSetAssetBundleName>(mcSetAssetBundleName); win.Show(); } }
static void EditorAssetDiskMapingMenuItem_EditorWindowBuildAllAssetDiskMaping() { if (EditorStrayFogApplication.IsExecuteMethodInCmd()) { EditorStrayFogExecute.ExecuteBuildAllAssetDiskMaping(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildAllAssetDiskMaping); } else { EditorWindowBuildAllAssetDiskMaping win = EditorWindow.GetWindow <EditorWindowBuildAllAssetDiskMaping>(mcBuildAllAssetDiskMaping); win.Show(); } }
static void EditorSpriteAtlasMenuItem_EditorWindowSetSpritePackingTag() { if (EditorStrayFogApplication.IsExecuteMethodInCmd()) { EditorStrayFogExecute.ExecuteSetSpritePackingTag(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcSetSpritePackingTag); } else { EditorWindowSetSpritePackingTag win = EditorWindow.GetWindow <EditorWindowSetSpritePackingTag>(mcSetSpritePackingTag); win.Show(); } }
static void EditorAnimatorMenuItem_EditorWindowAnimatorControllerFMSMaping() { if (EditorStrayFogApplication.IsExecuteMethodInCmd()) { EditorStrayFogExecute.ExecuteBuildAnimatorControllerFMSMaping(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildAnimatorControllerFMSMaping); } else { EditorWindowAnimatorControllerFMSMaping win = EditorWindow.GetWindow <EditorWindowAnimatorControllerFMSMaping>(mcBuildAnimatorControllerFMSMaping); win.Show(); } }
/// <summary> /// OnGUI /// </summary> void OnGUI() { DrawAssets("【Exists】", mExistsConfigs, ref mScrollViewPositionExists); DrawAssets("【NoExists】", mNoExistsConfigs, ref mScrollViewPositionNoExists); if (mNoExistsConfigs.Count > 0 && GUILayout.Button("Create Assets")) { foreach (EditorEngineAssetConfig c in mNoExistsConfigs) { c.CreateAsset(); } EditorUtility.DisplayDialog("Custom Asset ", "Create Asset success!", "OK"); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); OnLoadConfigs(); } }
/// <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> /// DrawAssetNodes /// </summary> private void DrawAssetNodes() { mScrollViewPosition = EditorGUILayout.BeginScrollView(mScrollViewPosition); for (int i = 0; i < mXlsTableSchemas.Count; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(string.Format("{0}. 【{1}】{2}", (i + 1).PadLeft(mXlsTableSchemas.Count), mXlsTableSchemas[i].dbName, mXlsTableSchemas[i].tableName)); if (GUILayout.Button("Setting")) { EditorStrayFogApplication.PingObject(mXlsTableSchemas[i].tableSchemaAssetPath); } mXlsTableSchemas[i].isDeterminant = EditorGUILayout.ToggleLeft("是否是行列式表", mXlsTableSchemas[i].isDeterminant); mXlsTableSchemas[i].canModifyData = EditorGUILayout.ToggleLeft("是否可修改数据", mXlsTableSchemas[i].canModifyData); EditorUtility.SetDirty(mXlsTableSchemas[i]); if (GUILayout.Button("Brower")) { EditorStrayFogApplication.PingObject(mXlsTableSchemas[i].fileName); } if (GUILayout.Button("Reveal")) { EditorStrayFogApplication.RevealInFinder(mXlsTableSchemas[i].fileName); } if (GUILayout.Button("Open")) { EditorStrayFogApplication.OpenFile(Path.GetFullPath(mXlsTableSchemas[i].fileName)); } if (GUILayout.Button("Script")) { EditorStrayFogApplication.RevealInFinder(mXlsTableSchemas[i].scriptSqliteEntityFolder); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); if (GUILayout.Button("Export Xls Schema To Sqlite")) { EditorStrayFogExecute.ExecuteExportXlsSchemaToSqlite(); EditorUtility.DisplayDialog("XlsSchema", "ExecuteExportXlsSchemaToSqlite successed.", "OK"); } }
/// <summary> /// 创建脚本 /// </summary> /// <param name="_viewScript">视图脚本</param> void OnCreateScript(EditorTextAssetConfig _viewScript) { if (!EditorStrayFogUtility.assetBundleName.IsIllegalFile(_viewScript.name)) { bool hasScript = false; string hasScriptPath = string.Empty; if (mScriptConfig.paths != null && mScriptConfig.paths.Length > 0) { for (int i = 0; i < mScriptConfig.paths.Length; i++) { mTempUIWindowViewScript.SetDirectory( OnGetDirectory(mScriptConfig.paths[i], Path.GetFileName(_viewScript.directory))); mTempUIWindowViewScript.SetName(_viewScript.name); hasScript |= File.Exists(mTempUIWindowViewScript.fileName); hasScriptPath = mTempUIWindowViewScript.fileName; if (hasScript) { break; } } } if (hasScript) { EditorUtility.DisplayDialog("Exists Script", "The script 【" + _viewScript.name + "】 already exists in 【" + hasScriptPath + "】.", "OK"); } else { string windowTemplate = EditorResxTemplete.UIWindowViewTemplete; windowTemplate = windowTemplate.Replace("#NAME#", _viewScript.name); _viewScript.SetText(windowTemplate); _viewScript.CreateAsset(); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); EditorUtility.DisplayDialog("Create New Window Script", "Create window scripts is complete.", "OK"); } } else { EditorUtility.DisplayDialog("Illegal Name", "Window Name is not legal.", "OK"); } }
/// <summary> /// 获得动态程序集组 /// </summary> /// <returns>程序集组</returns> public static List <Assembly> GetDynamicAssemblies() { List <Assembly> assemblies = new List <Assembly>(); string dllExt = typeof(enFileExt).GetAttributeForConstField <FileExtAttribute>(enFileExt.Dll).ext; if (mDynamicDlls == null) { mDynamicDlls = EditorStrayFogUtility.collectAsset.CollectAsset <EditorAssemblySelectionAsset>( new string[1] { EditorStrayFogApplication.TryRelativeToAssets("") }, "", enEditorDependencyClassify.UnClude, (n) => { return(n.ext.Equals(dllExt)); }, false); } List <Assembly> tempAssemblies = null; if (mDynamicDlls != null && mDynamicDlls.Count > 0) { foreach (EditorAssemblySelectionAsset d in mDynamicDlls) { try { assemblies.Add(Assembly.LoadFrom(d.path)); } catch (Exception ep) { Debug.LogWarning(ep.Message); } } } tempAssemblies = GetApplicationAssembly(); if (tempAssemblies != null) { assemblies.AddRange(tempAssemblies); } tempAssemblies = GetEditorApplicationAssembly(); if (tempAssemblies != null) { assemblies.AddRange(tempAssemblies); } assemblies.Add(GetUnityEngineAssembly()); assemblies.Add(GetUnityEditorAssembly()); return(assemblies); }
/// <summary> /// 绘制脚本宏定义符 /// </summary> /// <param name="_macroDefineSymbol">宏定义符</param> public void EditorGUILayout_DrawMacroDefineSymbol(Dictionary <int, EditorMacroDefineSymbol> _macroDefineSymbol) { foreach (KeyValuePair <int, EditorMacroDefineSymbol> macro in _macroDefineSymbol) { EditorGUILayout.LabelField(string.Format("【{0}】{1}", macro.Value.type.Name, macro.Value.alias.alias, GUILayout.ExpandWidth(false))); foreach (EditorMacroDefineSymbol_Item define in macro.Value.defineMaping.Values) { EditorGUILayout.BeginHorizontal(); define.isChecked = EditorGUILayout.ToggleLeft( string.Format("{0}【{1}】", define.name, define.alias.alias), define.isChecked); if (GUILayout.Button(string.Format("Copy 【{0}】Define", define.alias.alias, GUILayout.ExpandWidth(false)))) { EditorStrayFogApplication.CopyToClipboard(define.name); EditorUtility.DisplayDialog("Copy Define", "Copy Define " + define.name, "OK"); } EditorGUILayout.EndHorizontal(); } EditorStrayFogUtility.guiLayout.DrawSeparator(); } }
/// <summary> /// 加载宏定义符号 /// </summary> /// <returns>核心宏定义符号</returns> public Dictionary <int, EditorMacroDefineSymbol> LoadMacroDefineScriptingDefineSymbols() { Dictionary <int, EditorMacroDefineSymbol> result = new Dictionary <int, EditorMacroDefineSymbol>(); string[] defines = EditorStrayFogApplication.GetScriptingDefineSymbolsForGroup(); Type define = typeof(EditorMacroDefineScriptingDefineSymbols); Type[] types = define.GetNestedTypes(); if (types != null && types.Length > 0) { foreach (Type t in types) { EditorMacroDefineSymbol symbol = new EditorMacroDefineSymbol(t); if (!result.ContainsKey(symbol.key)) { result.Add(symbol.key, symbol); } symbol.SetCheckedFromPlayerSettings(defines); } } return(result); }
/// <summary> /// 绘制资源 /// </summary> /// <param name="_title">标题</param> /// <param name="_assets">资源</param> /// <param name="_scrollViewPosition">滚动视图位置</param> void DrawAssets(string _title, List <EditorEngineAssetConfig> _assets, ref Vector2 _scrollViewPosition) { if (_assets.Count > 0) { EditorGUILayout.LabelField(_title); _scrollViewPosition = EditorGUILayout.BeginScrollView(_scrollViewPosition); for (int i = 0; i < _assets.Count; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField( string.Format("{0}.{1}", (i + 1).PadLeft(_assets.Count), _assets[i].name )); if (_assets[i].Exists() && GUILayout.Button("Browse")) { EditorStrayFogApplication.PingObject(_assets[i].fileName); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); } }
/// <summary> /// OnGUI /// </summary> void OnGUI() { mNewAssetName = EditorGUILayout.TextField("资源名称", mNewAssetName); if (!string.IsNullOrEmpty(mNewAssetName.Trim())) { mScriptConfig.SetName(mNewAssetName); mAssetConfig.SetName(mNewAssetName); mAssetConfig.SetType(mNewAssetName); EditorGUILayout.LabelField("1." + mScriptConfig.fileName); EditorGUILayout.LabelField("2." + mAssetConfig.fileName); mScriptContent = mTxtScriptTemplete.Replace("#ClassName#", mNewAssetName); mScriptConfig.SetText(mScriptContent); EditorGUILayout.HelpBox(mScriptContent, MessageType.Info); if (File.Exists(mAssetConfig.fileName)) { if (GUILayout.Button("Brower")) { EditorStrayFogApplication.PingObject(mAssetConfig.fileName); } } else if (EditorStrayFogAssembly.IsExistsTypeInApplication(mNewAssetName)) { if (GUILayout.Button("Create Asset")) { mAssetConfig.CreateAsset(); EditorUtility.DisplayDialog("Custom Asset ", string.Format("Create Asset【{0}】success , path is '{1}'.", mAssetConfig.name, mAssetConfig.fileName), "OK"); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } } else if (GUILayout.Button("Create Script")) { mScriptConfig.CreateAsset(); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } } }
static void EditorQueryMenuItem_EditorWindowLookProjectSetting() { EditorStrayFogApplication.PingObject(enEditorApplicationFolder.Project_Resources.GetAttribute <EditorApplicationFolderAttribute>().path); }
static void EditorShaderMenuItem_ExecuteBuildDefaultShader() { EditorStrayFogExecute.ExecuteBuildDefaultShader(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildDefaultShader); }
static void EditorAnimCurveMenuItem_EditorWindowBuildAnimCurves() { EditorStrayFogExecute.ExecuteBuildAnimCurves(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildAnimCurves); }
/// <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 }
static void EditorReleaseMenuItem_ExecuteBuildAsmdefToPackage() { EditorStrayFogExecute.ExecuteBuildAsmdefToPackage(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildAsmdefToPackage); }
static void EditorReleaseMenuItem_ExecuteCopySQLiteDbToPackage() { EditorStrayFogExecute.ExecuteCopySQLiteDbToPackage(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcCopySQLiteDbToPackage); }
static void EditorReleaseMenuItem_ExecuteBuildAllXlsData() { EditorStrayFogExecute.ExecuteBuildAllXlsData(); EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed(mcBuildAllXlsData); }