You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Mekanome/dist/managers/aura-manager.lua

84 lines
2.5 KiB

--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
-- Lua Library inline imports
local function __TS__ArrayForEach(self, callbackFn, thisArg)
for i = 1, #self do
callbackFn(thisArg, self[i], i - 1, self)
end
end
-- End of Lua Library inline imports
local ____exports = {}
local _, _Mekanome = ...
local Mekanome = _Mekanome
local function New(token)
local auras = {}
local helpfulSlots = {C_UnitAuras.GetAuraSlots(token, "HELPFUL", 200, nil)}
__TS__ArrayForEach(
helpfulSlots,
function(____, s)
if s ~= nil then
local aura = C_UnitAuras.GetAuraDataBySlot(token, s)
if aura then
auras[aura.auraInstanceID] = aura
end
end
end
)
local harmfulSlots = {C_UnitAuras.GetAuraSlots(token, "HARMFUL", 200, nil)}
__TS__ArrayForEach(
harmfulSlots,
function(____, s)
if s ~= nil then
local aura = C_UnitAuras.GetAuraDataBySlot(token, s)
if aura then
auras[aura.auraInstanceID] = aura
end
end
end
)
return auras
end
local function GetUpdatedAuras(updateInfo, mob)
local auras = {}
if updateInfo.isFullUpdate then
return New(mob.token)
end
if mob.auras ~= nil then
for instanceId, aura in pairs(mob.auras) do
auras[instanceId] = aura
end
end
if updateInfo.removedAuraInstanceIDs ~= nil then
__TS__ArrayForEach(
updateInfo.removedAuraInstanceIDs,
function(____, id)
if auras[id] ~= nil then
auras[id] = nil
end
end
)
end
if updateInfo.addedAuras ~= nil then
__TS__ArrayForEach(
updateInfo.addedAuras,
function(____, data)
auras[data.auraInstanceID] = data
end
)
end
if updateInfo.updatedAuraInstanceIDs then
__TS__ArrayForEach(
updateInfo.updatedAuraInstanceIDs,
function(____, id)
local data = C_UnitAuras.GetAuraDataByAuraInstanceID(mob.token, id)
if data then
auras[data.auraInstanceID] = data
end
end
)
end
return auras
end
local _AuraManager = {New = New, GetUpdatedAuras = GetUpdatedAuras}
Mekanome.AuraManager = _AuraManager
____exports.default = {}
return ____exports