Add Item Discard

This commit is contained in:
Zeffuro
2025-12-29 21:15:45 +01:00
parent 399c80d405
commit 9f1fb7f884
@@ -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)