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(),
};
}