49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
|
|
// Crest Ocean System
|
|
|
|
// Copyright 2022 Wave Harmonic Ltd
|
|
|
|
namespace Crest.Examples
|
|
{
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
|
|
/// <summary>
|
|
/// Loads a Render Pipeline Asset when entering play mode. Useful if wanting to enforce quality or features for a
|
|
/// scene.
|
|
/// </summary>
|
|
public class LoadRenderPipelineAsset : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
RenderPipelineAsset _renderPipelineAsset;
|
|
|
|
RenderPipelineAsset _oldRenderPipelineAssetGraphics;
|
|
RenderPipelineAsset _oldRenderPipelineAssetQuality;
|
|
|
|
void OnEnable()
|
|
{
|
|
_oldRenderPipelineAssetGraphics = GraphicsSettings.renderPipelineAsset;
|
|
_oldRenderPipelineAssetQuality = QualitySettings.renderPipeline;
|
|
|
|
if (_renderPipelineAsset == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
GraphicsSettings.renderPipelineAsset = _renderPipelineAsset;
|
|
QualitySettings.renderPipeline = _renderPipelineAsset;
|
|
}
|
|
|
|
void OnDisable()
|
|
{
|
|
if (_renderPipelineAsset == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
GraphicsSettings.renderPipelineAsset = _oldRenderPipelineAssetGraphics;
|
|
QualitySettings.renderPipeline = _oldRenderPipelineAssetQuality;
|
|
}
|
|
}
|
|
}
|