// ---------------------------------------------------------------------------
// BT.Framework
// DuplicatePolicy.cs — 키 기반 코루틴 중복 정책
// ---------------------------------------------------------------------------
namespace BurningTimes.Core.Coroutine
{
    /// <summary>
    /// 동일 키로 <see cref="CoroutineRunner.Start(string, System.Collections.IEnumerator, DuplicatePolicy)"/>
    /// 가 호출됐을 때 기존 실행 중인 코루틴을 어떻게 처리할지 정의한다.
    /// </summary>
    public enum DuplicatePolicy
    {
        /// <summary>기존 코루틴을 중단하고 새로 시작한다(기본값).</summary>
        Replace = 0,

        /// <summary>기존 코루틴을 유지하고 새 요청은 무시한다.</summary>
        Ignore = 1,

        /// <summary>기존 코루틴을 유지하고 중복 시작을 허용한다(키 공유, 핸들만 다름).</summary>
        Allow = 2,
    }
}
