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(); }
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); }
private Item GetItemInSlot(ItemSlot slot) { return(Equip.FirstOrDefault(i => i.Slot == slot)); }
public Item GetItemInSlot(ItemSlot slot, ushort?socket) => Equip.FirstOrDefault(i => i.Slot == slot && i.Socket == socket);
public Item GetItemInSlot(ItemSlot slot) => Equip.FirstOrDefault(i => i.Slot == slot);