// TODO VERBS EJECTABLES Standardize eject/insert verbs into a single system? private void AddEjectVerb(EntityUid uid, BaseCharger component, GetAlternativeVerbsEvent args) { if (args.Hands == null || !args.CanAccess || !args.CanInteract || !component.HasCell || !_actionBlockerSystem.CanPickup(args.User)) { return; } Verb verb = new(); verb.Text = component.Container.ContainedEntity !.Name; verb.Category = VerbCategory.Eject; verb.Act = () => component.RemoveItem(args.User); args.Verbs.Add(verb); }
private void AddInsertVerb(EntityUid uid, BaseCharger component, GetInteractionVerbsEvent args) { if (args.Using == null || !args.CanAccess || !args.CanInteract || component.HasCell || !component.IsEntityCompatible(args.Using) || !_actionBlockerSystem.CanDrop(args.User)) { return; } Verb verb = new(); verb.Text = args.Using.Name; verb.Category = VerbCategory.Insert; verb.Act = () => component.TryInsertItem(args.Using); args.Verbs.Add(verb); }
private void AddInsertVerb(EntityUid uid, BaseCharger component, GetInteractionVerbsEvent args) { if (args.Using is not { Valid : true } @using || !args.CanAccess || !args.CanInteract || component.HasCell || !component.IsEntityCompatible(@using) || !_actionBlockerSystem.CanDrop(args.User)) { return; } Verb verb = new(); verb.Text = EntityManager.GetComponent <MetaDataComponent>(@using).EntityName; verb.Category = VerbCategory.Insert; verb.Act = () => component.TryInsertItem(@using); args.Verbs.Add(verb); }