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