PlayerBuildProcessor.cs 989 B

123456789101112131415161718192021222324252627282930313233
  1. using System.IO;
  2. using UnityEditor.Build;
  3. using UnityEditor.Build.Reporting;
  4. using UnityEngine;
  5. namespace VEngine.Editor.Builds
  6. {
  7. public class PlayerBuildProcessor : IPreprocessBuildWithReport, IPostprocessBuildWithReport
  8. {
  9. public void OnPostprocessBuild(BuildReport report)
  10. {
  11. if(VEngine.Utility.buildPath != "Bundles")
  12. {
  13. var directory = Settings.BuildPlayerDataPath;
  14. if (!Directory.Exists(directory)) return;
  15. Directory.Delete(directory, true);
  16. if (Directory.GetFiles(Application.streamingAssetsPath).Length == 0)
  17. Directory.Delete(Application.streamingAssetsPath);
  18. }
  19. }
  20. public int callbackOrder => 0;
  21. public void OnPreprocessBuild(BuildReport report)
  22. {
  23. if (VEngine.Utility.buildPath != "Bundles")
  24. {
  25. BuildScript.CopyToStreamingAssets();
  26. }
  27. }
  28. }
  29. }