Files
XRLib/Assets/Scripts/UVC/Data/IDataObject.cs

41 lines
1.5 KiB
C#

namespace UVC.Data
{
/// <summary>
/// 서로 다른 JSON 데이터 구조 간에 매핑 기능을 제공하는 클래스입니다.
/// </summary>
/// <remarks>
/// ...
/// 이 클래스는 IDataObject 인터페이스를 구현한 DataObject와 DataArray로
/// 데이터를 변환하여 통일된 방식으로 접근할 수 있도록 합니다.
/// </remarks>
public interface IDataObject
{
/// <summary>
/// 모든 프로퍼티를 변경된 것으로 표시합니다.
/// 전체 데이터가 갱신되었을 때 사용합니다.
/// </summary>
public void InitData();
/// <summary>
/// 다른 DataObject와 현재 객체를 비교하여 다른 부분만 설정합니다.
/// 변경된 키는 자동으로 추적됩니다.
/// </summary>
/// <param name="other">비교할 DataObject</param>
public void UpdateDifferent(IDataObject other);
/// <summary>
/// 업데이트된 속성만 포함하는 새로운 DataObject를 반환합니다.
/// </summary>
/// <returns>업데이트 된 항목만 가지고 있는 DataObject</returns>
public IDataObject GetUpdatedObject();
/// <summary>
/// /// <summary>
/// 업데이트 된 속성의 수.
/// </summary>
/// <returns>업데이트된 속성의 총 개수입니다. 업데이트된 속성이 없으면 0을 반환합니다.</returns>
public int UpdatedCount { get; }
}
}