using UnityEngine;

namespace IndianOceanAssets.Engine2_5D
{
    /// <summary>
    /// 回声描边颜色覆盖 —— 挂到精灵上（或其父级），让该精灵的回声描边
    /// 使用自定义颜色/宽度，而非全局默认值。
    ///
    /// 为什么需要它：
    /// EchoOutlineManager 在运行时自动创建描边子物体（EchoOutline_xxx），
    /// 这些子物体在编辑器里不存在、无法直接修改。把此组件挂到【父精灵】上，
    /// 运行时代码会读取并应用。
    ///
    /// 用法：
    /// - 想让某个精灵描边变红：挂上此组件，outlineColor 设为红色
    /// - 想让某个精灵描边更粗：outlineWidth 设为 4
    /// - 想让某个精灵完全不描边（即使不是光源）：勾选 disableOutline
    /// - 挂到父物体上可一次性影响所有子精灵
    /// </summary>
    public class EchoOutlineColorOverride : MonoBehaviour
    {
        [Tooltip("勾选后此精灵不生成描边（即使不是光源物体）")]
        public bool disableOutline = false;

        [Tooltip("此精灵的描边颜色（与全局回声颜色相乘；全局默认白色，所以这里设什么就是什么色）")]
        public Color outlineColor = Color.white;

        [Tooltip("此精灵的描边宽度（-1 = 用材质默认值，≥0 = 自定义像素宽度）")]
        public float outlineWidth = -1f;
    }
}
