private void OnItemDroppedIn(ItemDroppedEventData data) { if (this.equipment.IsEquipped(data.InventoryItem.Item)) { this.equipment.Swap(data.InventoryItem.Item, data.InventorySlot.InventoryItem.Item); return; } try { if (data.InventoryItem.Item.IsGem && data.InventorySlot.InventoryItem.Item.IsSocketable && data.InventorySlot.InventoryItem.Item.HasEmptySockets) { data.InventorySlot.InventoryItem.Item.InsertSocket(data.InventoryItem.Item); return; } this.equipment.EquipIntoSlot( data.InventoryItem.Item, this.equipment.Slots[this.slots.IndexOf(data.InventorySlot)]); } catch (GameplayException exception) { UiErrorFrame.Instance.Push(exception.Message); } }
private void OnItemDropped(ItemDroppedEventData data) { if (data.InventorySlot.Equals(this)) { return; } ItemDroppedOut?.Invoke(data); }
private void OnItemDroppedOut(ItemDroppedEventData data) { if (this.slots.Any(s => s == data.InventorySlot)) { return; } // Note: to prevent Empty item dropping into inventory slot Timer.Instance.WaitForFixedUpdate(() => RemoveItem?.Invoke(data.InventoryItem.Item)); }
private void OnItemDroppedIn(ItemDroppedEventData data) { var containing = this.slots.FirstOrDefault(s => s.InventoryItem.Item == data.InventoryItem.Item); if (containing == null) { AddItemIndex?.Invoke(data.InventoryItem.Item, this.slots.IndexOf(data.InventorySlot)); return; } SwapItems?.Invoke(containing.InventoryItem.Item, data.InventorySlot.InventoryItem.Item); }
private void OnItemDroppedOut(ItemDroppedEventData data) { if (this.slots.Any(slot => slot.Equals(data.InventorySlot))) { return; } try { this.equipment.Unequip(data.InventoryItem.Item, data.InventorySlot.InventoryItem.Item); } catch (GameplayException exception) { UiErrorFrame.Instance.Push(exception.Message); } }
private void OnItemDroppedIn(ItemDroppedEventData data) { if (data.InventoryItem.Item.IsGem && data.InventorySlot.InventoryItem.Item.IsSocketable && data.InventorySlot.InventoryItem.Item.HasEmptySockets) { data.InventorySlot.InventoryItem.Item.InsertSocket(data.InventoryItem.Item); return; } if (!this.inventory.Contains(data.InventoryItem.Item) && data.InventoryItem.Item.Equipment == null) { this.inventory.Pickup(data.InventoryItem.Item.Clone(), data.InventorySlot.InventoryItem.Item); data.InventoryItem.Item.Inventory.Remove(data.InventoryItem.Item); return; } this.inventory.Swap(data.InventoryItem.Item, data.InventorySlot.InventoryItem.Item); }
public void OnDrop(PointerEventData pointer) { var dragging = pointer.pointerDrag.GetComponent <InventoryItem>(); if (dragging == null || InventoryItem.Item.Equals(dragging.Item)) { return; } if (InventoryItem.IsBlocked) { return; } var data = new ItemDroppedEventData(dragging, this); dragging.OnDrop(data); ItemDroppedIn?.Invoke(data); }
private void OnItemDroppedOut(ItemDroppedEventData data) { ItemRemoved?.Invoke(data.InventoryItem.Item); }
private void OnItemDroppedIn(ItemDroppedEventData data) { ItemPlaced?.Invoke(data.InventoryItem.Item); }
public void OnDrop(ItemDroppedEventData data) { AudioManager.Instance.PlayItemPlace(Item); Dropped?.Invoke(data); }