RawfileBuildpipelineViewer.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #if UNITY_2019_4_OR_NEWER
  2. using System;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Collections.Generic;
  6. using UnityEditor;
  7. using UnityEngine;
  8. using UnityEditor.UIElements;
  9. using UnityEngine.UIElements;
  10. namespace YooAsset.Editor
  11. {
  12. internal class RawfileBuildpipelineViewer : BuildPipelineViewerBase
  13. {
  14. public RawfileBuildpipelineViewer(string packageName, BuildTarget buildTarget, VisualElement parent)
  15. : base(packageName, EBuildPipeline.RawFileBuildPipeline, buildTarget, parent)
  16. {
  17. var compressionField = Root.Q<EnumField>("Compression");
  18. UIElementsTools.SetElementVisible(compressionField, false);
  19. }
  20. /// <summary>
  21. /// Ö´Ðй¹½¨
  22. /// </summary>
  23. protected override void ExecuteBuild()
  24. {
  25. var buildMode = AssetBundleBuilderSetting.GetPackageBuildMode(PackageName, BuildPipeline);
  26. var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, BuildPipeline);
  27. var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, BuildPipeline);
  28. var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, BuildPipeline);
  29. RawFileBuildParameters buildParameters = new RawFileBuildParameters();
  30. buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
  31. buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
  32. buildParameters.BuildPipeline = BuildPipeline.ToString();
  33. buildParameters.BuildTarget = BuildTarget;
  34. buildParameters.BuildMode = buildMode;
  35. buildParameters.PackageName = PackageName;
  36. buildParameters.PackageVersion = GetPackageVersion();
  37. buildParameters.VerifyBuildingResult = true;
  38. buildParameters.FileNameStyle = fileNameStyle;
  39. buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
  40. buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
  41. buildParameters.EncryptionServices = CreateEncryptionInstance();
  42. RawFileBuildPipeline pipeline = new RawFileBuildPipeline();
  43. var buildResult = pipeline.Run(buildParameters, true);
  44. if (buildResult.Success)
  45. EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
  46. }
  47. protected override List<Enum> GetSupportBuildModes()
  48. {
  49. List<Enum> buildModeList = new List<Enum>();
  50. buildModeList.Add(EBuildMode.ForceRebuild);
  51. buildModeList.Add(EBuildMode.SimulateBuild);
  52. return buildModeList;
  53. }
  54. }
  55. }
  56. #endif