123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Assertions;
- using UnityEngine.Rendering.Universal;
-
- namespace UnityEditor.Rendering.Universal
- {
- internal class URPBuildData : IDisposable
- {
- // Instance can be null when building AssetBundles, otherwise the lifetime will be given by URPPreprocessBuild
- static URPBuildData m_Instance = null;
-
- public static URPBuildData instance => m_Instance ??= new(EditorUserBuildSettings.activeBuildTarget, Debug.isDebugBuild);
-
- public bool buildingPlayerForUniversalRenderPipeline { get; private set; }
-
- public List<UniversalRenderPipelineAsset> renderPipelineAssets { get; private set; } = new List<UniversalRenderPipelineAsset>();
-
- public URPBuildData(BuildTarget buildTarget, bool isDevelopmentBuild)
- {
- m_Instance = this;
-
- buildingPlayerForUniversalRenderPipeline = CoreBuildData.instance.buildingPlayerForRenderPipeline &&
- CoreBuildData.instance.currentRenderPipelineAssetType == typeof(UniversalRenderPipelineAsset);
-
- if (buildingPlayerForUniversalRenderPipeline)
- {
- foreach (var asset in CoreBuildData.instance.renderPipelineAssets)
- {
- Assert.IsTrue(asset is UniversalRenderPipelineAsset);
- renderPipelineAssets.Add(asset as UniversalRenderPipelineAsset);
- }
- }
- }
-
- public void Dispose()
- {
- renderPipelineAssets?.Clear();
-
- buildingPlayerForUniversalRenderPipeline = false;
-
- CoreBuildData.instance.Dispose();
-
- m_Instance = null;
- }
- }
- }
|