using Content.Shared.Item.ItemToggle.Components; namespace Content.Shared.Item.ItemToggle; /// /// Handles component manipulation. /// public sealed class ComponentTogglerSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnToggled); } private void OnToggled(Entity ent, ref ItemToggledEvent args) { var target = ent.Comp.Parent ? Transform(ent).ParentUid : ent.Owner; if (args.Activated) EntityManager.AddComponents(target, ent.Comp.Components); else EntityManager.RemoveComponents(target, ent.Comp.RemoveComponents ?? ent.Comp.Components); } }