using Content.Server.GameTicking.Rules;
using Content.Server.Maps;
using Content.Shared.GridPreloader.Prototypes;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Server.GameTicking.Rules.Components;
///
/// This is used for a game rule that loads a map when activated.
/// Works with .
///
[RegisterComponent, Access(typeof(LoadMapRuleSystem))]
public sealed partial class LoadMapRuleComponent : Component
{
///
/// A to load on a new map.
///
[DataField]
public ProtoId? GameMap;
///
/// A map to load.
///
[DataField]
public ResPath? MapPath;
///
/// A grid to load on a new map.
///
[DataField]
public ResPath? GridPath;
///
/// A to move to a new map.
/// If there are no instances left nothing is done.
///
/// This is deprecated. Do not create new content that uses this field,
/// and migrate existing content to be loaded dynamically during the round.
///
///
[DataField, Obsolete("Do not pre-load grids. This causes the server to have to keep that grid loaded in memory during the entire round, even if that grid is never summoned to the playspace.")]
public ProtoId? PreloadedGrid;
}