Няма описание
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.Assertions;
  5. using UnityEngine.Rendering.Universal;
  6. namespace UnityEditor.Rendering.Universal
  7. {
  8. internal class URPBuildData : IDisposable
  9. {
  10. // Instance can be null when building AssetBundles, otherwise the lifetime will be given by URPPreprocessBuild
  11. static URPBuildData m_Instance = null;
  12. public static URPBuildData instance => m_Instance ??= new(EditorUserBuildSettings.activeBuildTarget, Debug.isDebugBuild);
  13. public bool buildingPlayerForUniversalRenderPipeline { get; private set; }
  14. public List<UniversalRenderPipelineAsset> renderPipelineAssets { get; private set; } = new List<UniversalRenderPipelineAsset>();
  15. public URPBuildData(BuildTarget buildTarget, bool isDevelopmentBuild)
  16. {
  17. m_Instance = this;
  18. buildingPlayerForUniversalRenderPipeline = CoreBuildData.instance.buildingPlayerForRenderPipeline &&
  19. CoreBuildData.instance.currentRenderPipelineAssetType == typeof(UniversalRenderPipelineAsset);
  20. if (buildingPlayerForUniversalRenderPipeline)
  21. {
  22. foreach (var asset in CoreBuildData.instance.renderPipelineAssets)
  23. {
  24. Assert.IsTrue(asset is UniversalRenderPipelineAsset);
  25. renderPipelineAssets.Add(asset as UniversalRenderPipelineAsset);
  26. }
  27. }
  28. }
  29. public void Dispose()
  30. {
  31. renderPipelineAssets?.Clear();
  32. buildingPlayerForUniversalRenderPipeline = false;
  33. CoreBuildData.instance.Dispose();
  34. m_Instance = null;
  35. }
  36. }
  37. }