using SVSim.Database.Common; namespace SVSim.Database.Models; public class GameConfiguration : BaseEntity { public ulong DefaultCrystals { get; set; } public ulong DefaultRupees { get; set; } public ulong DefaultEther { get; set; } public int MaxFriends { get; set; } #region Time-varying globals populated by SVSim.Bootstrap.GlobalsImporter /// Current "Take Two Special" rotation ID, e.g. "10015". Points into MyRotationSettingEntry. public string TsRotationId { get; set; } = string.Empty; public bool ChallengeUseTwoPickPremiumCard { get; set; } public long ChallengeTwoPickSleeveId { get; set; } /// /// Bool on the wire (prod sends true/false); local previously sent int. Fixes the /// type-mismatch noted in seed-data-strategy-2026-05-23.md crash audit. /// public bool IsBattlePassPeriod { get; set; } public bool IsBeginnerMission { get; set; } public int CardSetIdForResourceDlView { get; set; } #endregion #region Foreign Keys public int DefaultDegreeId { get; set; } public int DefaultEmblemId { get; set; } public int DefaultMyPageBackgroundId { get; set; } public int DefaultSleeveId { get; set; } #endregion #region Navigation Properties public DegreeEntry DefaultDegree { get; set; } = new DegreeEntry(); public EmblemEntry DefaultEmblem { get; set; } = new EmblemEntry(); public MyPageBackgroundEntry DefaultMyPageBackground { get; set; } = new MyPageBackgroundEntry(); public SleeveEntry DefaultSleeve { get; set; } = new SleeveEntry(); #endregion }