コード例 #1
0
        private void OnEquipped(EntityUid uid, SuitSensorComponent component, EquippedEvent args)
        {
            if (args.Slot != component.ActivationSlot)
            {
                return;
            }

            component.User = args.User;
        }
 public override bool HandleEvent(EquippedEvent E)
 {
     if (E.Item.HasPart("MeleeWeapon") == true)
     {
         EgoBonus = E.Actor.StatMod("Ego", 0);
         MeleeWeapon WeaponStatistics = E.Item.GetPart <MeleeWeapon>();
         WeaponStatistics.MaxStrengthBonus = (int)Math.Floor(EgoBonus * ((ParentObject.Equipped.Statistics["Level"].BaseValue / 5) * 0.1));;
     }
     return(base.HandleEvent(E));
 }
コード例 #3
0
        /// <summary>
        ///     Calls Equipped on all components that implement the IEquipped interface
        ///     on an entity that has been equipped.
        /// </summary>
        public void EquippedInteraction(IEntity user, IEntity equipped, EquipmentSlotDefines.Slots slot)
        {
            var equipMsg = new EquippedEvent(user, equipped, slot);

            RaiseLocalEvent(equipped.Uid, equipMsg);
            if (equipMsg.Handled)
            {
                return;
            }

            var comps = equipped.GetAllComponents <IEquipped>().ToList();

            // Call Thrown on all components that implement the interface
            foreach (var comp in comps)
            {
                comp.Equipped(new EquippedEventArgs(user, slot));
            }
        }
 public override bool HandleEvent(EquippedEvent E)
 {
     UpdateTailParts();
     E.Actor.RegisterPartEvent(this, "MutationAdded");
     return(base.HandleEvent(E));
 }