using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Shared.Respawn;
///
/// This is to be used where you need some item respawned on station if it was deleted somehow in round
/// Items like the nuke disk.
///
[RegisterComponent, NetworkedComponent]
public sealed partial class SpecialRespawnComponent: Component
{
[ViewVariables]
[DataField("stationMap")]
public (EntityUid?, EntityUid?) StationMap;
///
/// Checks if the entityentity should respawn on the station grid
///
[ViewVariables(VVAccess.ReadWrite)]
[DataField("respawn")]
public bool Respawn = true;
///
/// The prototypeID of the entity to be respawned
///
[ViewVariables]
[DataField("prototype", required:true, customTypeSerializer:typeof(PrototypeIdSerializer))]
public string Prototype = "";
}
public sealed class SpecialRespawnSetupEvent : EntityEventArgs
{
public EntityUid Entity;
public SpecialRespawnSetupEvent(EntityUid entity)
{
Entity = entity;
}
}