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; }