using ET; using GFGGame; using System; using System.IO; using UnityEditor; using UnityEditor.Compilation; using UnityEngine; namespace GFGEditor { public class ToolsMenu : Editor { enum TOOL_MENU_PRIORITY { UpdateAndImportAll, UpdateAndImportExcel, UpdateAndImportArtRes, CheckExcel, BuildBundlesRes, UpdateAll, UpdateGame, UpdateExcel, UpdateArtRes, ImportExcel, ImportArtRes, CommitAll, CommitGame, CommitExcel, CommitArtRes, } [MenuItem("策划/更新并导入所有", false, (int)TOOL_MENU_PRIORITY.UpdateAndImportAll)] static void UpdateAndImportAll() { UpdateAll(); ImportArtRes(); ImportExcel(); EditorUtility.DisplayDialog("提示", "操作成功!", "ok");//记得切出再切回编辑器焦点重新编译 } [MenuItem("策划/更新并导入Excel", false, (int)TOOL_MENU_PRIORITY.UpdateAndImportExcel)] static void UpdateAndImportExcel() { UpdateExcel(); ImportExcel(); EditorUtility.DisplayDialog("提示", "操作成功!", "ok");//记得切出再切回编辑器焦点重新编译 } [MenuItem("策划/更新并导入美术资源", false, (int)TOOL_MENU_PRIORITY.UpdateAndImportArtRes)] static void UpdateAndImportArtRes() { UpdateArtRes(); ImportArtRes(); EditorUtility.DisplayDialog("提示", "操作成功!", "ok");//记得切出再切回编辑器焦点重新编译 } [MenuItem("策划/更新至内网版本", false, (int)TOOL_MENU_PRIORITY.BuildBundlesRes)] public static void BuildBundlesRes() { EditorUtility.DisplayProgressBar("进度", "正在更新至内网", 1); VEngine.Editor.Builds.BuildScript.BuildCustomBundles(new string[] { "Res", "ResIn" }); //CommitAll(); EditorUtility.ClearProgressBar(); EditorUtility.DisplayDialog("提示", "操作成功!", "ok");//记得切出再切回编辑器焦点重新编译 } [MenuItem("策划/其它/更新项目", false, (int)TOOL_MENU_PRIORITY.UpdateGame)] static void UpdateProject() { EditorUtility.DisplayProgressBar("进度", "正在更新项目", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "updateGame.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/更新配置表", false, (int)TOOL_MENU_PRIORITY.UpdateExcel)] public static void UpdateExcel() { EditorUtility.DisplayProgressBar("进度", "正在更新表格", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "updateExcel.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/更新美术资源", false, (int)TOOL_MENU_PRIORITY.UpdateArtRes)] public static void UpdateArtRes() { EditorUtility.DisplayProgressBar("进度", "正在更新美术资源", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "updateArtRes.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/更新所有", false, (int)TOOL_MENU_PRIORITY.UpdateAll)] public static void UpdateAll() { //ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "updateAll.bat"); UpdateProject(); UpdateExcel(); UpdateArtRes(); } [MenuItem("策划/其它/提交项目", false, (int)TOOL_MENU_PRIORITY.CommitGame)] static void CommitProject() { EditorUtility.DisplayProgressBar("进度", "正在提交项目", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "commitGame.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/提交配置表", false, (int)TOOL_MENU_PRIORITY.CommitExcel)] static void CommitExcel() { EditorUtility.DisplayProgressBar("进度", "正在提交表格", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "commitExcel.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/提交美术资源", false, (int)TOOL_MENU_PRIORITY.CommitArtRes)] static void CommitArtRes() { EditorUtility.DisplayProgressBar("进度", "正在提交美术资源", 1); ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "commitArtRes.bat"); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/提交所有", false, (int)TOOL_MENU_PRIORITY.CommitAll)] static void CommitAll() { //ProcessUtil.ExcuteBat("Assets/Editor/Bat/", "commitALL.bat"); CommitExcel(); CommitArtRes(); CommitProject(); } [MenuItem("策划/其它/导入配置表", false, (int)TOOL_MENU_PRIORITY.ImportExcel)] public static void ImportExcel() { Log.ILog = new UnityLogger(); ET.Options.Instance = new ET.Options(); EditorUtility.DisplayProgressBar("进度", "正在导入表格", 1); SqliteController.Instance.dirPath = Path.Combine(Environment.CurrentDirectory, ResPathUtil.CONFIG_DIR_PATH); SqliteController.Instance.Init(true, null); SQLiteHelper.Instance.OpenConnection(); try { SQLiteHelper.Instance.ClearAllTables(); CodeTemplateFactory.Init(); if (!Directory.Exists(ExcelConfig.configCodePath)) { Directory.CreateDirectory(ExcelConfig.configCodePath); } if (!Directory.Exists(ExcelConfig.configArrayCodePath)) { Directory.CreateDirectory(ExcelConfig.configArrayCodePath); } ExcelReader.ReadExcel(CodeBuilder.GenerateCode); } catch (Exception e) { throw (e.InnerException); } finally { SQLiteHelper.Instance.CloseConnection(); } //扫描物品表获取途径并更新数据库 ItemApproachScanner.startScan(); AssetDatabase.Refresh(); EditorUtility.ClearProgressBar(); } [MenuItem("策划/检查配置表", false, (int)TOOL_MENU_PRIORITY.CheckExcel)] public static void CheckExcel() { EditorUtility.DisplayProgressBar("进度", "正在检查表格", 1); //检查表格部分内容 ExcelChecker.StartCheck(); EditorUtility.ClearProgressBar(); } [MenuItem("策划/其它/导入美术资源", false, (int)TOOL_MENU_PRIORITY.ImportArtRes)] public static void ImportArtRes() { EditorUtility.DisplayProgressBar("进度", "正在导入美术资源", 1); ImportArtsRes.Import(); EditorUtility.ClearProgressBar(); } [MenuItem("Tools/ImageClip/ImportClipImage")] public static void ImportClipImage() { ImportArtsRes.ImportClipImage(); } [MenuItem("Tools/ImageClip/ReadImagePosition")] public static void ReadImagePosition() { ImagesClip.ReadImagePosition(); } [MenuItem("Tools/ImageClip/DeleteUnnecessaryImagePos")] public static void DeleteUnnecessaryImagePos() { FileUtil.DeleteUnnecessaryImagePos(ImportArtsRes.DressUpTargetPath); FileUtil.DeleteUnnecessaryImageMD5(ImportArtsRes.DressUpMd5FileSaveName); } [MenuItem("策划/其它/清除冗余文件")] public static void DeleteUnnecessaryImage() { FileUtil.DeleteUnnecessaryImage(ImportArtsRes.DressUpTargetPath, ImportArtsRes.DressUpMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.BgTargetPath, ImportArtsRes.BgMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.NpcPicSTargetPath, ImportArtsRes.PicSMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.FieldGuideIconTargetPath, ImportArtsRes.FieldGuideIconMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.MusicTargetPath, ImportArtsRes.MusicMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.ItemIconTargetPath, ImportArtsRes.IconMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.NpcHeadTargetPath, ImportArtsRes.HeadMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.NpcPicTargetPath, ImportArtsRes.PicFMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.CardBgTargetPath, ImportArtsRes.CardBgMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.CardIconTargetPath, ImportArtsRes.CardMd5FileSaveName); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.DressUpAnimationTargetPath); FileUtil.DeleteUnnecessaryImage(ImportArtsRes.EffectTargetPath); } [MenuItem("Tools/List Player Assemblies in Console")] public static void PrintAssemblyNames() { UnityEngine.Debug.Log("== Player Assemblies =="); Assembly[] playerAssemblies = CompilationPipeline.GetAssemblies(AssembliesType.Player); foreach (var assembly in playerAssemblies) { UnityEngine.Debug.Log(assembly.name); } } [MenuItem("Tools/BuildTest/SetBundlesResTestDir")] public static void SetBundlesResTestDir() { VEngine.Utility.buildPath = "Bundles1"; } [MenuItem("Tools/BuildTest/ResetBundlesResDir")] public static void ResetBundlesResTestDir() { VEngine.Utility.buildPath = "Bundles"; } } }