From e32fc002775b71a16663f0eb9ac3b69e2f70eabc Mon Sep 17 00:00:00 2001
From: MidoriKami <9083275+MidoriKami@users.noreply.github.com>
Date: Thu, 11 Apr 2024 14:23:13 -0700
Subject: [PATCH] IContextMenu Tweaks and Cleanup (#1753)
* Tweaks and cleanup
* Fix backwards logic
---
Dalamud/Game/Gui/ContextMenu/ContextMenu.cs | 41 ++++++++++-----------
Dalamud/Game/Gui/ContextMenu/MenuArgs.cs | 18 +++++++--
Dalamud/Game/Gui/ContextMenu/MenuItem.cs | 15 ++++++++
Dalamud/Plugin/Services/IContextMenu.cs | 7 ++--
4 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs b/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs
index 70b0f53d2..80324a2d3 100644
--- a/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs
+++ b/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs
@@ -47,14 +47,14 @@ internal sealed unsafe class ContextMenu : IInternalDisposableService, IContextM
this.addonContextMenuOnMenuSelectedHook.Enable();
}
- private unsafe delegate ushort RaptureAtkModuleOpenAddonByAgentDelegate(RaptureAtkModule* module, byte* addonName, AtkUnitBase* addon, int valueCount, AtkValue* values, AgentInterface* agent, nint a7, ushort parentAddonId);
+ private delegate ushort RaptureAtkModuleOpenAddonByAgentDelegate(RaptureAtkModule* module, byte* addonName, AtkUnitBase* addon, int valueCount, AtkValue* values, AgentInterface* agent, nint a7, ushort parentAddonId);
- private unsafe delegate bool AddonContextMenuOnMenuSelectedDelegate(AddonContextMenu* addon, int selectedIdx, byte a3);
+ private delegate bool AddonContextMenuOnMenuSelectedDelegate(AddonContextMenu* addon, int selectedIdx, byte a3);
- private unsafe delegate ushort RaptureAtkModuleOpenAddonDelegate(RaptureAtkModule* a1, uint addonNameId, uint valueCount, AtkValue* values, AgentInterface* parentAgent, ulong unk, ushort parentAddonId, int unk2);
+ private delegate ushort RaptureAtkModuleOpenAddonDelegate(RaptureAtkModule* a1, uint addonNameId, uint valueCount, AtkValue* values, AgentInterface* parentAgent, ulong unk, ushort parentAddonId, int unk2);
///
- public event IContextMenu.OnMenuOpenedDelegate OnMenuOpened;
+ public event IContextMenu.OnMenuOpenedDelegate? OnMenuOpened;
private Dictionary> MenuItems { get; } = new();
@@ -171,7 +171,7 @@ internal sealed unsafe class ContextMenu : IInternalDisposableService, IContextM
private void SetupGenericMenu(int headerCount, int sizeHeaderIdx, int returnHeaderIdx, int submenuHeaderIdx, IReadOnlyList