diff --git a/AetherBags/Nodes/Inventory/InventoryCategoryNode.cs b/AetherBags/Nodes/Inventory/InventoryCategoryNode.cs index 12b6180..bc19ed3 100644 --- a/AetherBags/Nodes/Inventory/InventoryCategoryNode.cs +++ b/AetherBags/Nodes/Inventory/InventoryCategoryNode.cs @@ -6,6 +6,7 @@ using AetherBags.Inventory; using AetherBags.Nodes.Layout; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI; +using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Client.UI.Misc; using FFXIVClientStructs.FFXIV.Component.GUI; using KamiToolKit.Classes; @@ -233,6 +234,7 @@ public class InventoryCategoryNode : SimpleComponentNode Int2 = location.Slot, }, IsClickable = true, + OnDiscard = node => OnDiscard(node, data), OnEnd = _ => System.AddonInventoryWindow.ManualInventoryRefresh(), OnPayloadAccepted = (node, payload) => OnPayloadAccepted(node, payload, data), OnRollOver = node => @@ -251,6 +253,12 @@ public class InventoryCategoryNode : SimpleComponentNode }; } + private unsafe void OnDiscard(DragDropNode node, ItemInfo item) + { + uint addonId = RaptureAtkUnitManager.Instance()->GetAddonByNode(node)->Id; + AgentInventoryContext.Instance()->DiscardItem(item.Item.GetLinkedItem(), item.Item.Container, item.Item.Slot, addonId); + } + private void OnPayloadAccepted(DragDropNode _, DragDropPayload payload, ItemInfo targetItemInfo) { if (!payload.IsValidInventoryPayload)