Refactor Heimdall modules to use class-based structure for improved organization and clarity

This commit is contained in:
2025-05-18 12:28:25 +02:00
parent b16cf762ac
commit 017cbf01f8
5 changed files with 340 additions and 329 deletions

View File

@@ -2,54 +2,57 @@ local _, shared = ...
---@cast shared HeimdallShared
local ModuleName = "Dueler"
---@diagnostic disable-next-line: missing-fields
shared.Dueler = {}
function shared.Dueler.Init()
local frame = CreateFrame("Frame")
frame:RegisterEvent("DUEL_REQUESTED")
frame:SetScript("OnEvent", function(self, event, sender)
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Duel request received from: %s", ModuleName, sender))
end
if not Heimdall_Data.config.dueler.enabled then
---@class Dueler
shared.Dueler = {
Init = function()
local frame = CreateFrame("Frame")
frame:RegisterEvent("DUEL_REQUESTED")
frame:SetScript("OnEvent", function(self, event, sender)
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Module disabled, ignoring duel request", ModuleName))
print(string.format("[%s] Duel request received from: %s", ModuleName, sender))
end
return
end
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Checking if sender '%s' is in agents list", ModuleName, sender))
end
local allow = shared.AgentTracker.IsAgent(sender)
if allow then
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Accepting duel from trusted agent: %s", ModuleName, sender))
end
AcceptDuel()
else
if Heimdall_Data.config.dueler.declineOther then
if not Heimdall_Data.config.dueler.enabled then
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Auto-declining duel from untrusted sender: %s", ModuleName, sender))
print(string.format("[%s] Module disabled, ignoring duel request", ModuleName))
end
CancelDuel()
return
end
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Checking if sender '%s' is in agents list", ModuleName, sender))
end
local allow = shared.AgentTracker.IsAgent(sender)
if allow then
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Accepting duel from trusted agent: %s", ModuleName, sender))
end
AcceptDuel()
else
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Leaving duel request from %s for manual response", ModuleName, sender))
if Heimdall_Data.config.dueler.declineOther then
if Heimdall_Data.config.dueler.debug then
print(string.format("[%s] Auto-declining duel from untrusted sender: %s", ModuleName, sender))
end
CancelDuel()
else
if Heimdall_Data.config.dueler.debug then
print(
string.format("[%s] Leaving duel request from %s for manual response", ModuleName, sender)
)
end
end
end
end
end)
end)
if Heimdall_Data.config.dueler.debug then
print(
string.format(
"[%s] Module initialized with auto-decline: %s",
ModuleName,
tostring(Heimdall_Data.config.dueler.declineOther)
if Heimdall_Data.config.dueler.debug then
print(
string.format(
"[%s] Module initialized with auto-decline: %s",
ModuleName,
tostring(Heimdall_Data.config.dueler.declineOther)
)
)
)
end
print("[Heimdall] Dueler loaded")
end
end
print("[Heimdall] Dueler loaded")
end,
}