using Content.Shared.Whitelist;
using Robust.Shared.GameStates;
namespace Content.Shared.Clothing.Components;
///
/// Allows an entity stored in this clothing item to pass inputs to the entity wearing it.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class PilotedClothingComponent : Component
{
///
/// Whitelist for entities that are allowed to act as pilots when inside this entity.
///
[DataField]
public EntityWhitelist? PilotWhitelist;
///
/// Should movement input be relayed from the pilot to the target?
///
[DataField]
public bool RelayMovement = true;
///
/// Reference to the entity contained in the clothing and acting as pilot.
///
[DataField, AutoNetworkedField]
public EntityUid? Pilot;
///
/// Reference to the entity wearing this clothing who will be controlled by the pilot.
///
[DataField, AutoNetworkedField]
public EntityUid? Wearer;
public bool IsActive => Pilot != null && Wearer != null;
}