using System.IO; using GFGEditor; using UnityEditor; using UnityEngine; using VEngine.Editor.Builds; namespace VEngine.Editor { public static class MenuItems { [MenuItem("XAssets/Compute CRC")] public static void ComputeCRC() { var target = Selection.activeObject; var path = AssetDatabase.GetAssetPath(target); var crc32 = Utility.ComputeCRC32(File.OpenRead(path)); Debug.LogFormat("ComputeCRC for {0} with {1}", path, crc32); } [MenuItem("XAssets/Versions/Build Bundles")] public static void BuildBundles() { BuildScript.BuildBundles(); } [MenuItem("XAssets/Versions/Build Player")] public static void BuildPlayer() { BuildScript.BuildPlayer(); } [MenuItem("XAssets/Versions/Copy To StreamingAssets")] public static void CopyToStreamingAssets() { BuildScript.CopyToStreamingAssets(); } [MenuItem("XAssets/Versions/Clear Bundles")] public static void ClearBuild() { if (EditorUtility.DisplayDialog("提示", "清理构建数据将无法正常增量打包,确认清理?", "确定")) { var buildPath = Settings.PlatformBuildPath; Directory.Delete(buildPath, true); var directory = Settings.BuildPlayerDataPath; if (!Directory.Exists(directory)) return; Directory.Delete(directory, true); directory = Settings.UnityBuildPath; if (!Directory.Exists(directory)) return; Directory.Delete(directory, true); ClearDownload(); } } [MenuItem("XAssets/Versions/Clear History")] public static void ClearHistory() { BuildScript.ClearHistory(); } [MenuItem("XAssets/Versions/Clear Download")] public static void ClearDownload() { Directory.Delete(Application.persistentDataPath, true); } [MenuItem("XAssets/Versions/Clear Temporary")] public static void ClearTemporary() { Directory.Delete(Application.temporaryCachePath, true); } [MenuItem("XAssets/Versions/View Settings")] public static void ViewSettings() { Settings.PingWithSelected(Settings.GetDefaultSettings()); } [MenuItem("XAssets/Versions/View Build")] public static void ViewBuild() { EditorUtility.OpenWithDefaultApp(Settings.PlatformBuildPath); } [MenuItem("XAssets/Versions/View Download")] public static void ViewDownload() { EditorUtility.OpenWithDefaultApp(Application.persistentDataPath); } [MenuItem("XAssets/Versions/View Temporary")] public static void ViewTemporary() { EditorUtility.OpenWithDefaultApp(Application.temporaryCachePath); } #if !UNITY_2018_1_OR_NEWER [MenuItem("XAssets/Copy Path")] public static void CopyAssetPath() { EditorGUIUtility.systemCopyBuffer = AssetDatabase.GetAssetPath(Selection.activeObject); } #endif } }