--[[ Addon: Taos Group Tools Author: TProg Taonnor Created by @Taonnor ]]-- --[[ Global callbacks ]]-- TGT_SHOW_ULTIMATE_GROUP_MENU = "TGT-ShowUltimateGroupMenu" TGT_SET_ULTIMATE_GROUP = "TGT-SetUltimateGroup" --[[ Local variables ]]-- local LOG_ACTIVE = false local _logger = nil --[[ Table TGT_UltimateGroupMenu ]]-- TGT_UltimateGroupMenu = {} TGT_UltimateGroupMenu.__index = TGT_UltimateGroupMenu --[[ Table Members ]]-- --[[ SetUltimateGroup shows ultimate group menu ]]-- function TGT_UltimateGroupMenu.SetUltimateGroup(group, arg) if (LOG_ACTIVE) then _logger:logTrace("TGT_UltimateGroupMenu.SetultimateGroup") _logger:logDebug("group.GroupName, arg", group.GroupName, arg) end CALLBACK_MANAGER:FireCallbacks(TGT_SET_ULTIMATE_GROUP, group, arg) end --[[ ShowUltimateGroupMenu shows ultimate group menu ]]-- function TGT_UltimateGroupMenu.ShowUltimateGroupMenu(control, arg) if (LOG_ACTIVE) then _logger:logTrace("TGT_UltimateGroupMenu.ShowUltimateGroupMenu") _logger:logDebug("arg", arg) end if (control ~= nil) then ClearMenu() local ultimateGroups = TGT_UltimateGroupHandler.GetUltimateGroups() for i, group in pairs(ultimateGroups) do AddMenuItem(group.GroupName .. " - " .. group.GroupDescription, function() TGT_UltimateGroupMenu.SetUltimateGroup(group, arg) end) end ShowMenu(control) else _logger:logError("TGT_UltimateGroupMenu.ShowUltimateGroupMenu, control nil") end end --[[ Initialize initializes TGT_UltimateGroupMenu ]]-- function TGT_UltimateGroupMenu.Initialize(logger) if (LOG_ACTIVE) then logger:logTrace("TGT_UltimateGroupMenu.Initialize") end _logger = logger CALLBACK_MANAGER:RegisterCallback(TGT_SHOW_ULTIMATE_GROUP_MENU, TGT_UltimateGroupMenu.ShowUltimateGroupMenu) end