Net-Game/Library/PackageCache/com.unity.render-pipelines.universal@506b3deb0041/Editor/BuildProcessors/GraphicsSettingsStrippers/RendererStripper.cs
2025-03-28 08:33:16 -04:00

30 lines
1.1 KiB
C#

using UnityEditor.Rendering.Universal;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace UnityEditor.Rendering
{
abstract class RendererStripper<T, S> : IRenderPipelineGraphicsSettingsStripper<T>
where T : IRenderPipelineGraphicsSettings
where S : ScriptableRendererData
{
public bool active => URPBuildData.instance.buildingPlayerForUniversalRenderPipeline;
public bool CanRemoveSettings(T settings)
{
foreach (var urpAssetForBuild in URPBuildData.instance.renderPipelineAssets)
{
// UUM-57954: Use RendererData rather than Renderer which may be null during the build in some circumstances
foreach(var rendererData in urpAssetForBuild.m_RendererDataList)
if (rendererData is S)
return false;
}
return true;
}
}
class UniversalRendererResourcesStripper : RendererStripper<UniversalRendererResources, UniversalRendererData> { }
class Renderer2DResourcesStripper : RendererStripper<Renderer2DResources, Renderer2DData> { }
}