using Robust.Shared.Prototypes; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.ViewVariables; namespace Content.Server.Maps { /// /// Prototype data for a game map. /// [Prototype("gameMap")] public class GameMapPrototype : IPrototype { /// [ViewVariables, DataField("id", required: true)] public string ID { get; } = default!; /// /// Minimum players for the given map. /// [ViewVariables, DataField("minPlayers", required: true)] public uint MinPlayers { get; } /// /// Maximum players for the given map. /// [ViewVariables, DataField("maxPlayers")] public uint MaxPlayers { get; } = uint.MaxValue; /// /// Name of the given map. /// [ViewVariables, DataField("mapName", required: true)] public string MapName { get; } = default!; /// /// Relative directory path to the given map, i.e. `Maps/saltern.yml` /// [ViewVariables, DataField("mapPath", required: true)] public string MapPath { get; } = default!; /// /// Controls if the map can be used as a fallback if no maps are eligible. /// [ViewVariables, DataField("fallback")] public bool Fallback { get; } /// /// Controls if the map can be voted for. /// [ViewVariables, DataField("votable")] public bool Votable { get; } = true; } }