using System.ComponentModel.DataAnnotations.Schema; namespace Domain.Entities.Store; /// 게임별 언어 지원 (인터페이스/풀오디오/자막). Game ↔ GameLanguage N:M + 지원 플래그. public class GameLanguageSupport { [ForeignKey(nameof(GameID))] public virtual Game Game { get; private set; } = null!; [ForeignKey(nameof(GameLanguageID))] public virtual GameLanguage GameLanguage { get; private set; } = null!; public int GameID { get; private set; } public int GameLanguageID { get; private set; } /// 인터페이스 지원 public bool Interface { get; private set; } /// 풀 오디오(음성) 지원 public bool FullAudio { get; private set; } /// 자막 지원 public bool Subtitles { get; private set; } private GameLanguageSupport() { } public static GameLanguageSupport Create(int gameID, int gameLanguageID, bool @interface, bool fullAudio, bool subtitles) { return new GameLanguageSupport { GameID = gameID, GameLanguageID = gameLanguageID, Interface = @interface, FullAudio = fullAudio, Subtitles = subtitles }; } public void SetSupport(bool @interface, bool fullAudio, bool subtitles) { Interface = @interface; FullAudio = fullAudio; Subtitles = subtitles; } }