| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | using UnityEngine;using UnityEngine.Rendering;namespace FlatKit {[ExecuteAlways]public class AutoLoadPipelineAsset : MonoBehaviour {    [SerializeField]    private RenderPipelineAsset pipelineAsset;    private RenderPipelineAsset _previousPipelineAsset;    private bool _overrodeQualitySettings;    private void OnEnable() {        UpdatePipeline();    }    private void OnDisable() {        ResetPipeline();    }    private void OnValidate() {        UpdatePipeline();    }    private void UpdatePipeline() {        if (pipelineAsset) {            if (QualitySettings.renderPipeline != null && QualitySettings.renderPipeline != pipelineAsset) {                _previousPipelineAsset = QualitySettings.renderPipeline;                QualitySettings.renderPipeline = pipelineAsset;                _overrodeQualitySettings = true;            } else {#if UNITY_6000_0_OR_NEWER                var currentPipeline = GraphicsSettings.defaultRenderPipeline;#else                var currentPipeline = GraphicsSettings.renderPipelineAsset;#endif                if (currentPipeline != pipelineAsset) {                    _previousPipelineAsset = currentPipeline;                    GraphicsSettings.defaultRenderPipeline = pipelineAsset;                    _overrodeQualitySettings = false;                }            }        }    }    private void ResetPipeline() {        if (_previousPipelineAsset) {            if (_overrodeQualitySettings) {                QualitySettings.renderPipeline = _previousPipelineAsset;            } else {#if UNITY_6000_0_OR_NEWER                GraphicsSettings.defaultRenderPipeline = _previousPipelineAsset;#else                GraphicsSettings.renderPipelineAsset = _previousPipelineAsset;#endif            }        }    }}}
 |