| using System; | 
|   | 
| namespace UnityEngine.PostProcessing | 
| { | 
|     [Serializable] | 
|     public class VignetteModel : PostProcessingModel | 
|     { | 
|         public enum Mode | 
|         { | 
|             Classic, | 
|             Masked | 
|         } | 
|   | 
|         [Serializable] | 
|         public struct Settings | 
|         { | 
|             [Tooltip("Use the \"Classic\" mode for parametric controls. Use the \"Masked\" mode to use your own texture mask.")] | 
|             public Mode mode; | 
|   | 
|             [ColorUsage(false)] | 
|             [Tooltip("Vignette color. Use the alpha channel for transparency.")] | 
|             public Color color; | 
|   | 
|             [Tooltip("Sets the vignette center point (screen center is [0.5,0.5]).")] | 
|             public Vector2 center; | 
|   | 
|             [Range(0f, 1f), Tooltip("Amount of vignetting on screen.")] | 
|             public float intensity; | 
|   | 
|             [Range(0.01f, 1f), Tooltip("Smoothness of the vignette borders.")] | 
|             public float smoothness; | 
|   | 
|             [Range(0f, 1f), Tooltip("Lower values will make a square-ish vignette.")] | 
|             public float roundness; | 
|   | 
|             [Tooltip("A black and white mask to use as a vignette.")] | 
|             public Texture mask; | 
|   | 
|             [Range(0f, 1f), Tooltip("Mask opacity.")] | 
|             public float opacity; | 
|   | 
|             [Tooltip("Should the vignette be perfectly round or be dependent on the current aspect ratio?")] | 
|             public bool rounded; | 
|   | 
|             public static Settings defaultSettings | 
|             { | 
|                 get | 
|                 { | 
|                     return new Settings | 
|                     { | 
|                         mode = Mode.Classic, | 
|                         color = new Color(0f, 0f, 0f, 1f), | 
|                         center = new Vector2(0.5f, 0.5f), | 
|                         intensity = 0.45f, | 
|                         smoothness = 0.2f, | 
|                         roundness = 1f, | 
|                         mask = null, | 
|                         opacity = 1f, | 
|                         rounded = false | 
|                     }; | 
|                 } | 
|             } | 
|         } | 
|   | 
|         [SerializeField] | 
|         Settings m_Settings = Settings.defaultSettings; | 
|         public Settings settings | 
|         { | 
|             get { return m_Settings; } | 
|             set { m_Settings = value; } | 
|         } | 
|   | 
|         public override void Reset() | 
|         { | 
|             m_Settings = Settings.defaultSettings; | 
|         } | 
|     } | 
| } |