using Content.Shared.Vehicle.Systems;
using Content.Shared.Whitelist;
using Robust.Shared.GameStates;
namespace Content.Shared.Vehicle.Components;
///
/// This is used for a vehicle which can only be operated when a specific key matching a whitelist is inserted.
///
[RegisterComponent, NetworkedComponent]
[Access(typeof(VehicleSystem))]
public sealed partial class GenericKeyedVehicleComponent : Component
{
///
/// The ID corresponding to the container where the "key" must be inserted.
///
[DataField(required: true)]
public string ContainerId;
///
/// A whitelist determining what qualifies as a valid key for this vehicle.
///
[DataField(required: true)]
public EntityWhitelist KeyWhitelist = new();
///
/// If true, prevents keys which do not pass the from being inserted into
///
[DataField]
public bool PreventInvalidInsertion = true;
}