RizzeBattleRoyale/Assets/Plugins/Outline/Scripts/OutlineSettingsObject.cs
2025-09-24 11:24:38 +05:00

30 lines
1.4 KiB
C#

namespace Plugins.Outline
{
using UnityEngine;
using UnityEngine.Rendering.Universal;
[CreateAssetMenu(fileName = "OutlineSettings", menuName = "Outline/Settings")]
public sealed class OutlineSettingsObject : ScriptableObject, IOutlineSettings
{
public const float MinWidth = OutlineSettings.MinWidth;
public const float MaxWidth = OutlineSettings.MaxWidth;
public const float MinIntensity = OutlineSettings.MinIntensity;
public const float MaxIntensity = OutlineSettings.MaxIntensity;
[SerializeField, Range(OutlineSettings.MinWidth, OutlineSettings.MaxWidth)]
private float _width = 1.0f;
[SerializeField, Range(OutlineSettings.MinIntensity, OutlineSettings.MaxIntensity)]
private float _intensity = 1.0f;
[SerializeField]
private Color _color = Color.white;
[SerializeField]
private RenderPassEvent _pass = RenderPassEvent.AfterRenderingTransparents;
public float Width { get { return _width; } set { _width = Mathf.Clamp(value, MinWidth, MaxWidth); } }
public float Intensity { get { return _intensity; } set { _intensity = Mathf.Clamp(value, MinIntensity, MaxIntensity); } }
public Color Color { get { return _color; } set { _color = value; } }
public RenderPassEvent Pass { get { return _pass; } set { _pass = value; } }
public EOutlineUpdateMode UpdateMode { get { return EOutlineUpdateMode.None; } set {} }
}
}