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