using XCEngine; using XCEngine.Rendering; namespace XCEngine.Rendering.Universal { internal sealed class UniversalRenderPipeline : ScriptableRenderPipeline { private readonly UniversalRenderPipelineAsset m_asset; public UniversalRenderPipeline( UniversalRenderPipelineAsset asset) { m_asset = asset; } protected override bool SupportsStageRenderGraph( CameraFrameStage stage) { ScriptableRenderer renderer = GetDefaultRenderer(); return renderer != null && renderer.SupportsStageRenderGraph(stage); } protected override bool RecordStageRenderGraph( ScriptableRenderContext context) { ScriptableRenderer renderer = GetDefaultRenderer(); return renderer != null && renderer.RecordStageRenderGraph(context); } private ScriptableRenderer GetDefaultRenderer() { return m_asset != null ? m_asset.GetDefaultRenderer() : null; } } }