using System;
namespace UnityEngine.Rendering
{
///
/// A to associate with a and store project-wide settings for that pipeline.
/// You can register a single instance to the by using . You can use this to save `RenderPipeline` settings that appear in `GraphicsSettings`.
///
///
///
public abstract class RenderPipelineGlobalSettings : RenderPipelineGlobalSettings
where TRenderPipeline : RenderPipeline
where TGlobalRenderPipelineSettings : RenderPipelineGlobalSettings
{
///
/// Active Global Settings asset. If the value is `null` then no `TGlobalRenderPipelineSettings` is registered to the Graphics Settings with the `TRenderPipeline`.
///
#if UNITY_EDITOR
public static TGlobalRenderPipelineSettings instance =>
GraphicsSettings.GetSettingsForRenderPipeline() as TGlobalRenderPipelineSettings;
#else
public static TGlobalRenderPipelineSettings instance => s_Instance.Value;
private static Lazy s_Instance = new (() => GraphicsSettings.GetSettingsForRenderPipeline() as TGlobalRenderPipelineSettings);
#endif
}
}