// ---------------------------------------------------------------------------
// BT.Framework
// DataTableLoadedEvent.cs — 마스터 테이블 로드 완료 이벤트 payload
// ---------------------------------------------------------------------------
using System;

namespace BurningTimes.Core.Data
{
    /// <summary>
    /// 마스터 테이블 로드 완료를 전역 통지할 때 <see cref="BurningTimes.Core.Event.EventBus"/> 로 Publish 하는 이벤트.
    /// </summary>
    /// <remarks>
    /// <para>설계 문서 §3-3. Data 모듈은 본 struct 를 정의만 하며, 실제 Publish 는 호출자 선택 사항.
    /// Data 가 Event 에 강제 의존하지 않도록 하기 위함(설계 §2 DAG).</para>
    /// </remarks>
    public readonly struct DataTableLoadedEvent
    {
        /// <summary>로드된 테이블의 행 타입 (식별자).</summary>
        public readonly Type TableType;

        /// <summary>로드된 행 개수.</summary>
        public readonly int RowCount;

        public DataTableLoadedEvent(Type tableType, int rowCount)
        {
            TableType = tableType;
            RowCount = rowCount;
        }
    }
}
