// ---------------------------------------------------------------------------
// BT.Framework
// ReadOnlyAttribute.cs — 인스펙터 읽기 전용 표시 속성
// ---------------------------------------------------------------------------
using System;
using UnityEngine;

namespace BurningTimes.Core.Attribute
{
    /// <summary>
    /// 필드를 Unity 인스펙터에서 읽기 전용으로 표시하도록 지시한다.
    /// </summary>
    /// <remarks>
    /// <para>설계 문서 §5 Tier 1. 기존 BurningTimesCore <c>DG.Core.Attribute.ReadOnlyAttribute</c>
    /// 구조를 승계하되 네임스페이스만 <see cref="BurningTimes.Core.Attribute"/>로 이전했다.</para>
    /// <para>실제 그리기(GUI.enabled=false)는 Editor 스크립트 <c>ReadOnlyDrawer</c>에서 수행한다.</para>
    /// <para>사용 예:</para>
    /// <code>
    /// [SerializeField, ReadOnly] private int _runtimeOnly;
    /// </code>
    /// <para>주의: 런타임 직렬화 동작에는 영향을 주지 않으며 인스펙터 편집 차단만 담당한다.</para>
    /// </remarks>
    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
    public sealed class ReadOnlyAttribute : PropertyAttribute
    {
    }
}
