using System; using UnityEngine; namespace UnityEditor.PostProcessing { using MonitorSettings = UnityEngine.PostProcessing.PostProcessingProfile.MonitorSettings; public abstract class PostProcessingMonitor : IDisposable { protected MonitorSettings m_MonitorSettings; protected PostProcessingInspector m_BaseEditor; public void Init(MonitorSettings monitorSettings, PostProcessingInspector baseEditor) { m_MonitorSettings = monitorSettings; m_BaseEditor = baseEditor; } public abstract bool IsSupported(); public abstract GUIContent GetMonitorTitle(); public virtual void OnMonitorSettings() {} public abstract void OnMonitorGUI(Rect r); public virtual void OnFrameData(RenderTexture source) {} public virtual void Dispose() {} } }