using Content.Shared.IdentityManagement; using Content.Shared.Item.ItemToggle.Components; using Content.Shared.Verbs; namespace Content.Shared.Item.ItemToggle; /// /// Adds a verb for toggling something with . /// public sealed class ToggleVerbSystem : EntitySystem { [Dependency] private readonly ItemToggleSystem _toggle = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent>(OnGetVerbs); } private void OnGetVerbs(Entity ent, ref GetVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) return; var name = Identity.Entity(ent, EntityManager); var user = args.User; args.Verbs.Add(new ActivationVerb() { Text = Loc.GetString(ent.Comp.Text, ("entity", name)), Act = () => _toggle.Toggle(ent.Owner, user) }); } }