Exemple #1
0
        public void UnequipItem(ItemInst item)
        {
            pBeforeUnequip(item);
            this.BaseInst.UnequipItem(item.BaseInst);
            pAfterUnequip(item);

            OnUnequip?.Invoke(item);
        }
Exemple #2
0
 public virtual void Unequip(EntityEquipable eq)
 {
     if (GetEquipped(eq.Type) == eq)
     {
         SetEquipped(eq.Type, null);
         OnUnequip.Invoke(master, eq);
     }
 }
Exemple #3
0
 public XElement ToXML()
 {
     return(new XElement("Equipment",
                         new XElement("OccupiesSlots", from a in OccupiesSlots select a.ToXML()),
                         new XElement("CoversSlots", from a in CoversSlots select a.ToXML()),
                         new XElement("OnEquip", OnEquip.ToXML()),
                         new XElement("OnUnequip", OnUnequip.ToXML()),
                         new XElement("OnMove", OnMove.ToXML())));
 }
Exemple #4
0
        public void UnequipFromBodySlot(BodyPart bodyPart)
        {
            var equip = activeEquipment[(int)bodyPart];

            if (equip != null)
            {
                OnUnequip?.Invoke(equip);
                activeEquipment[(int)bodyPart] = null;
            }
        }
Exemple #5
0
            public virtual void Unequip(EntityEquipableType type)
            {
                EntityEquipable oldEq = GetEquipped(type);

                if (oldEq != null)
                {
                    SetEquipped(type, null);
                    OnUnequip.Invoke(master, oldEq);
                }
            }
Exemple #6
0
 /// <summary>
 /// Unequips an item from the inventory
 /// </summary>
 /// <param name="obj">The object to unequip</param>
 public void Unequip(Entity entity)
 {
     for (var i = 0; i < activeEquipment.Length; ++i)
     {
         if (activeEquipment[i] == entity)
         {
             OnUnequip?.Invoke(entity);
             activeEquipment[i] = null;
             break;
         }
     }
 }
Exemple #7
0
        /// <summary>
        /// Unequips an item from the inventory by name
        /// </summary>
        /// <param name="name">The name of the equipment</param>
        public void Unequip(string name)
        {
            for (var i = 0; i < activeEquipment.Length; ++i)
            {
                var equip = activeEquipment[i];

                if (equip != null && (equip.name == name || equip.id == name))
                {
                    OnUnequip?.Invoke(equip);
                    activeEquipment[i] = null;
                    break;
                }
            }
        }
    private void Unequip(EquipmentSlot equipmentDataSlot, bool destroyGo = true)
    {
        var go = slotToGameobjectDictionary[equipmentDataSlot];

        slotToGameobjectDictionary.Remove(equipmentDataSlot);
        OnUnequip?.Invoke(equipmentDataSlot, go.GetComponent <EquipmentData>());
        equipment.Remove(go);

        if (!destroyGo)
        {
            return;
        }
        if (Application.isPlaying)
        {
            Destroy(go);
        }
        else
        {
            DestroyImmediate(go);
        }
    }
 private void UnsubscribeToEquipEvents()
 {
     OnEquip.Unsubscribe(OnEquipNet);
     OnUnequip.Unsubscribe(OnUnequipNet);
 }
 private void SubscribeToEquipEvents()
 {
     OnEquip.SafeSubscribe(OnEquipNet);
     OnUnequip.SafeSubscribe(OnUnequipNet);
 }