Exemplo n.º 1
0
        public void SetItemInSlot(Item value, ItemSlot slot)
        {
            if (!CanEquip(value, slot))
            {
                return;
            }

            var old = Equip.FirstOrDefault(i => i.Slot == slot);

            if (old != null)
            {
                Equip.Remove(old);
                old.Slot             = ItemSlot.Unequipable;
                old.PropertyChanged -= SlottedItemOnPropertyChanged;
            }

            if (value != null)
            {
                value.Slot = slot;
                Equip.Add(value);
                value.PropertyChanged += SlottedItemOnPropertyChanged;
            }
            OnPropertyChanged(slot.ToString());
            RefreshItemAttributes();
        }
Exemplo n.º 2
0
        public void SetItemInSlot(Item value, ItemSlot slot, ushort?socket)
        {
            if (!CanEquip(value, slot, socket))
            {
                return;
            }

            var old = Equip.FirstOrDefault(i => i.Slot == slot && i.Socket == socket);

            if (value is null)
            {
                Equip.Remove(old);
            }
            else
            {
                value.Slot   = slot;
                value.Socket = socket;
                Equip.RemoveAndAdd(old, value);
            }

            if (old != null)
            {
                old.Slot             = ItemSlot.Unequipable;
                old.Socket           = null;
                old.PropertyChanged -= SlottedItemOnPropertyChanged;
            }
            if (value != null)
            {
                value.PropertyChanged += SlottedItemOnPropertyChanged;
            }

            OnItemChanged(slot, socket);
        }
Exemplo n.º 3
0
 private Item GetItemInSlot(ItemSlot slot)
 {
     return(Equip.FirstOrDefault(i => i.Slot == slot));
 }
Exemplo n.º 4
0
 public Item GetItemInSlot(ItemSlot slot, ushort?socket)
 => Equip.FirstOrDefault(i => i.Slot == slot && i.Socket == socket);
Exemplo n.º 5
0
 public Item GetItemInSlot(ItemSlot slot)
 => Equip.FirstOrDefault(i => i.Slot == slot);