コード例 #1
0
        // 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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }