using System.Collections.Generic; using System.Linq; namespace SVSim.Database.Models.Config; /// /// Guild-feature configuration: membership caps, search caps, stamp palette, /// and chat-polling intervals. All collection defaults live in /// (not property initializers) to survive the /// GameConfigService tier-merge correctly. /// [ConfigSection("Guild")] public sealed class GuildConfig { public int MaxMemberNum { get; init; } = 30; public int MaxSubLeaderNum { get; init; } = 2; public int SearchResultCap { get; init; } = 50; public int ChatPollIdleSeconds { get; init; } = 10; public int ChatPollActiveSeconds { get; init; } = 3; public List UsableStampList { get; init; } = new(); public static GuildConfig ShippedDefaults() => new() { UsableStampList = Enumerable.Range(100001, 20).ToList(), }; }