Delta-v/Content.Shared/_DV/Implants/AddComponentsImplant/AddComponentsImplantCompone...

27 lines
989 B
C#

using Robust.Shared.Prototypes;
namespace Content.Shared._DV.Implants.AddComponentsImplant;
/// <summary>
/// When added to an implanter will add the passed in components to the implanted entity.
/// </summary>
/// <remarks>
/// Warning: Multiple implants with this component adding the same components will not properly remove components
/// unless removed in the inverse order of their injection (Last in, first out).
/// </remarks>
[RegisterComponent]
public sealed partial class AddComponentsImplantComponent : Component
{
/// <summary>
/// What components will be added to the entity. If the component already exists, it will be skipped.
/// </summary>
[DataField(required: true)]
public ComponentRegistry ComponentsToAdd;
/// <summary>
/// What components were added to the entity after implanted. Is used to know what components to remove.
/// </summary>
[DataField]
public ComponentRegistry AddedComponents = new();
}