AssetBundleSimulateBuilder.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using UnityEditor;
  2. using UnityEngine;
  3. namespace YooAsset.Editor
  4. {
  5. public static class AssetBundleSimulateBuilder
  6. {
  7. /// <summary>
  8. /// 模拟构建
  9. /// </summary>
  10. public static string SimulateBuild(string packageName)
  11. {
  12. Debug.Log($"Begin to create simulate package : {packageName}");
  13. BuildParameters buildParameters = new BuildParameters();
  14. buildParameters.StreamingAssetsRoot = AssetBundleBuilderHelper.GetDefaultStreamingAssetsRoot();
  15. buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
  16. buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget;
  17. buildParameters.BuildMode = EBuildMode.SimulateBuild;
  18. buildParameters.PackageName = packageName;
  19. buildParameters.PackageVersion = "Simulate";
  20. buildParameters.EnableLog = false;
  21. AssetBundleBuilder builder = new AssetBundleBuilder();
  22. var buildResult = builder.Run(buildParameters);
  23. if (buildResult.Success)
  24. {
  25. string manifestFileName = YooAssetSettingsData.GetManifestBinaryFileName(buildParameters.PackageName, buildParameters.PackageVersion);
  26. string manifestFilePath = $"{buildResult.OutputPackageDirectory}/{manifestFileName}";
  27. return manifestFilePath;
  28. }
  29. else
  30. {
  31. return null;
  32. }
  33. }
  34. }
  35. }