using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Interaction.Components;
///
/// Relays an entities interactions to another entity.
/// This doesn't raise the same events, but just relays
/// the clicks of the mouse.
///
/// Note that extreme caution should be taken when using this, as this will probably bypass many normal can-interact checks.
///
[RegisterComponent, NetworkedComponent]
[Access(typeof(SharedInteractionSystem))]
public sealed partial class InteractionRelayComponent : Component
{
///
/// The entity the interactions are being relayed to.
///
[ViewVariables]
public EntityUid? RelayEntity;
}
///
/// Contains network state for
///
[Serializable, NetSerializable]
public sealed class InteractionRelayComponentState : ComponentState
{
public NetEntity? RelayEntity;
public InteractionRelayComponentState(NetEntity? relayEntity)
{
RelayEntity = relayEntity;
}
}