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;
}
}