// Assets/_Project/Scripts/Core/MatchRules.cs
namespace TD.Core
{
///
/// Match-wide constants that several unrelated systems have to agree on.
///
public static class MatchRules
{
///
/// Maximum players in one lobby.
///
///
/// Reduced from 9 to 3 for the 2.0 design as a deliberate scope cut: three players
/// is enough for the shared-lives and shared-vote mechanics to matter, and it shrinks map
/// authoring, balance surface, and network load all at once.
///
/// Why still runs to 9. Shrinking the enum would
/// invalidate the owner grids baked into existing LevelData assets and force a
/// re-bake of every map, for no runtime benefit — the extra values are simply never
/// allocated. Slot allocation caps here instead, which is the only place that decides who
/// gets a slot at all. Per-slot arrays stay sized to the enum, so they hold a few unused
/// entries; that is intentional and costs nothing.
///
public const int MaxPlayers = 3;
}
}