MenuItems.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System.IO;
  2. using UnityEditor;
  3. using UnityEngine;
  4. using VEngine.Editor.Builds;
  5. namespace VEngine.Editor
  6. {
  7. public static class MenuItems
  8. {
  9. [MenuItem("XAssets/Compute CRC")]
  10. public static void ComputeCRC()
  11. {
  12. var target = Selection.activeObject;
  13. var path = AssetDatabase.GetAssetPath(target);
  14. var crc32 = Utility.ComputeCRC32(File.OpenRead(path));
  15. Debug.LogFormat("ComputeCRC for {0} with {1}", path, crc32);
  16. }
  17. [MenuItem("XAssets/Versions/Build Bundles")]
  18. public static void BuildBundles()
  19. {
  20. BuildScript.BuildBundles();
  21. }
  22. [MenuItem("XAssets/Versions/Build Bundles Res Init")]
  23. public static void BuildBundlesResIn()
  24. {
  25. BuildScript.BuildCustomBundles(new string[] { "ResIn/Txt" });
  26. }
  27. [MenuItem("XAssets/Versions/Build Bundles All")]
  28. public static void BuildBundlesRes()
  29. {
  30. BuildScript.BuildCustomBundles(new string[] { "Res", "ResIn" });
  31. }
  32. [MenuItem("XAssets/Versions/Build Player")]
  33. public static void BuildPlayer()
  34. {
  35. BuildScript.BuildPlayer();
  36. }
  37. [MenuItem("XAssets/Versions/Copy To StreamingAssets")]
  38. public static void CopyToStreamingAssets()
  39. {
  40. BuildScript.CopyToStreamingAssets();
  41. }
  42. [MenuItem("XAssets/Versions/Clear Bundles")]
  43. public static void ClearBuild()
  44. {
  45. if (EditorUtility.DisplayDialog("提示", "清理构建数据将无法正常增量打包,确认清理?", "确定"))
  46. {
  47. var buildPath = Settings.PlatformBuildPath;
  48. Directory.Delete(buildPath, true);
  49. var directory = Settings.BuildPlayerDataPath;
  50. if (!Directory.Exists(directory)) return;
  51. Directory.Delete(directory, true);
  52. ClearDownload();
  53. }
  54. }
  55. [MenuItem("XAssets/Versions/Clear History")]
  56. public static void ClearHistory()
  57. {
  58. BuildScript.ClearHistory();
  59. }
  60. [MenuItem("XAssets/Versions/Clear Download")]
  61. public static void ClearDownload()
  62. {
  63. Directory.Delete(Application.persistentDataPath, true);
  64. }
  65. [MenuItem("XAssets/Versions/Clear Temporary")]
  66. public static void ClearTemporary()
  67. {
  68. Directory.Delete(Application.temporaryCachePath, true);
  69. }
  70. [MenuItem("XAssets/Versions/View Settings")]
  71. public static void ViewSettings()
  72. {
  73. Settings.PingWithSelected(Settings.GetDefaultSettings());
  74. }
  75. [MenuItem("XAssets/Versions/View Build")]
  76. public static void ViewBuild()
  77. {
  78. EditorUtility.OpenWithDefaultApp(Settings.PlatformBuildPath);
  79. }
  80. [MenuItem("XAssets/Versions/View Download")]
  81. public static void ViewDownload()
  82. {
  83. EditorUtility.OpenWithDefaultApp(Application.persistentDataPath);
  84. }
  85. [MenuItem("XAssets/Versions/View Temporary")]
  86. public static void ViewTemporary()
  87. {
  88. EditorUtility.OpenWithDefaultApp(Application.temporaryCachePath);
  89. }
  90. #if !UNITY_2018_1_OR_NEWER
  91. [MenuItem("XAssets/Copy Path")]
  92. public static void CopyAssetPath()
  93. {
  94. EditorGUIUtility.systemCopyBuffer = AssetDatabase.GetAssetPath(Selection.activeObject);
  95. }
  96. #endif
  97. }
  98. }