using Content.Shared.Containers.ItemSlots; namespace Content.Shared.PowerCell.Components; [RegisterComponent] public sealed class PowerCellSlotComponent : Component { /// /// The actual item-slot that contains the cell. Allows all the interaction logic to be handled by . /// /// /// Given that needs to verify that a given cell has the correct cell-size before /// inserting anyways, there is no need to specify a separate entity whitelist. In this slot's yaml definition. /// [DataField("cellSlotId", required: true)] public string CellSlotId = string.Empty; /// /// Can this entity be inserted directly into a charging station? If false, you need to manually remove the power /// cell and recharge it separately. /// [DataField("fitsInCharger")] public bool FitsInCharger = true; } /// /// Raised directed at an entity with a power cell slot when the power cell inside has its charge updated or is ejected/inserted. /// public sealed class PowerCellChangedEvent : EntityEventArgs { public readonly bool Ejected; public PowerCellChangedEvent(bool ejected) { Ejected = ejected; } }