Compare with Previous | Blame | View Log
--[[
Addon: Taos Group Ultimate
Author: TProg Taonnor
Created by @Taonnor
]]--
--[[
Local variables
]]--
local LOG_ACTIVE = false
local _logger = nil
--[[
Table TGU_GroupHandler
]]--
TGU_GroupHandler = {}
TGU_GroupHandler.__index = TGU_GroupHandler
--[[
Table Members
]]--
TGU_GroupHandler.Name = "TGU-GroupHandler"
TGU_GroupHandler.IsMocked = false
TGU_GroupHandler.IsGrouped = false
--[[
Called when group member joined group
]]--
function TGU_GroupHandler.OnGroupMemberJoined()
if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupHandler.OnGroupMemberJoined") end
CALLBACK_MANAGER:FireCallbacks(TGU_GROUP_CHANGED)
TGU_GroupHandler.OnGroupUpdate()
end
--[[
Called when group member left group
]]--
function TGU_GroupHandler.OnGroupMemberLeft()
if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupHandler.OnGroupMemberLeft") end
CALLBACK_MANAGER:FireCallbacks(TGU_GROUP_CHANGED)
TGU_GroupHandler.OnGroupUpdate()
end
--[[
Called when groupUnitTags updated
]]--
function TGU_GroupHandler.OnGroupUpdate()
if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupHandler.OnGroupUpdate") end
local isGrouped = IsUnitGrouped("player")
if (TGU_GroupHandler.IsMocked) then
isGrouped = true
end
if (isGrouped ~= TGU_GroupHandler.IsGrouped) then
TGU_GroupHandler.IsGrouped = isGrouped
CALLBACK_MANAGER:FireCallbacks(TGU_UNIT_GROUPED_CHANGED)
end
end
--[[
Called on ???
]]--
function TGU_GroupHandler.OnUnitFrameUpdate()
if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupHandler.OnUnitFrameUpdate") end
CALLBACK_MANAGER:FireCallbacks(TGU_GROUP_CHANGED)
TGU_GroupHandler.OnGroupUpdate()
end
--[[
Initialize initializes TGU_GroupHandler
]]--
function TGU_GroupHandler.Initialize(logger, isMocked)
if (LOG_ACTIVE) then logger:logTrace("TGU_GroupHandler.Initialize") end
_logger = logger
TGU_GroupHandler.IsMocked = isMocked
-- Initial call
TGU_GroupHandler:OnGroupUpdate()
-- Register events
EVENT_MANAGER:RegisterForEvent(TGU_GroupHandler.Name, EVENT_GROUP_MEMBER_JOINED, TGU_GroupHandler.OnGroupMemberJoined)
EVENT_MANAGER:RegisterForEvent(TGU_GroupHandler.Name, EVENT_GROUP_MEMBER_LEFT, TGU_GroupHandler.OnGroupMemberLeft)
EVENT_MANAGER:RegisterForEvent(TGU_GroupHandler.Name, EVENT_GROUP_UPDATE, TGU_GroupHandler.OnGroupUpdate)
EVENT_MANAGER:RegisterForEvent(TGU_GroupHandler.Name, EVENT_UNIT_FRAME_UPDATE, TGU_GroupHandler.OnUnitFrameUpdate)
end