GameLanguageSupport.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.ComponentModel.DataAnnotations.Schema;
  2. namespace Domain.Entities.Store;
  3. /// <summary>게임별 언어 지원 (인터페이스/풀오디오/자막). Game ↔ GameLanguage N:M + 지원 플래그.</summary>
  4. public class GameLanguageSupport
  5. {
  6. [ForeignKey(nameof(GameID))]
  7. public virtual Game Game { get; private set; } = null!;
  8. [ForeignKey(nameof(GameLanguageID))]
  9. public virtual GameLanguage GameLanguage { get; private set; } = null!;
  10. public int GameID { get; private set; }
  11. public int GameLanguageID { get; private set; }
  12. /// <summary>인터페이스 지원</summary>
  13. public bool Interface { get; private set; }
  14. /// <summary>풀 오디오(음성) 지원</summary>
  15. public bool FullAudio { get; private set; }
  16. /// <summary>자막 지원</summary>
  17. public bool Subtitles { get; private set; }
  18. private GameLanguageSupport() { }
  19. public static GameLanguageSupport Create(int gameID, int gameLanguageID, bool @interface, bool fullAudio, bool subtitles)
  20. {
  21. return new GameLanguageSupport
  22. {
  23. GameID = gameID,
  24. GameLanguageID = gameLanguageID,
  25. Interface = @interface,
  26. FullAudio = fullAudio,
  27. Subtitles = subtitles
  28. };
  29. }
  30. public void SetSupport(bool @interface, bool fullAudio, bool subtitles)
  31. {
  32. Interface = @interface;
  33. FullAudio = fullAudio;
  34. Subtitles = subtitles;
  35. }
  36. }