using Content.Shared.DeviceNetwork.Components;
namespace Content.Shared.DeviceNetwork.Events;
///
/// Event raised when a device network packet is received by an entity.
///
///
/// ID of the network that this packet is translated on.
/// Device networks are currently global and only represent the way of signal transmission.
///
///
/// Address of the target device in a target network.
/// If null, this packet gets broadcasted to all devices in the network.
/// Empty string means invalid address.
///
///
/// Transmit frequency of the sender and receive frequency of the targeted device.
///
///
/// The device address of the sender. Can be used to send responses to payloads.
///
///
/// The sender entity with its .
///
///
/// The of a specific type.
/// This is the main container for custom information.
///
/// Type of the payload sent by this event.
[ByRefEvent]
public readonly record struct DeviceNetworkPacketEvent(
int NetId,
string? Address,
uint Frequency,
string SenderAddress,
Entity Sender,
T Data) where T : INetworkPayload;