Compare with Previous | Blame | View Log
--[[
Addon: Taos Group Tools
Author: TProg Taonnor
Created by @Taonnor
]]--
--[[
Local variables
]]--
local _logger = nil
local _settingsHandler = TGT_SettingsHandler
local _name = "TGT-FloatingLeaderMarker"
--[[
Table TGT_FloatingLeaderMarker
]]--
TGT_FloatingLeaderMarker = {}
TGT_FloatingLeaderMarker.__index = TGT_FloatingLeaderMarker
--[[
===============
PRIVATE METHODS
===============
]]--
--[[
ShowMarker shows additional leader marker
]]--
local function ShowMarker()
local iconSize = _settingsHandler.SavedVariables.IconSize
local iconPath = _settingsHandler.Icons[_settingsHandler.SavedVariables.Icon].path
SetFloatingMarkerInfo(MAP_PIN_TYPE_GROUP_LEADER, iconSize, iconPath)
end
--[[
HideMarker hides additional leader marker
]]--
local function HideMarker()
SetFloatingMarkerInfo(MAP_PIN_TYPE_GROUP_LEADER, nil, nil)
end
--[[
SetControlActive sets isActive on control
]]--
local function SetControlActive()
if (_settingsHandler.SavedVariables.IsLeaderIconActive) then
ShowMarker()
CALLBACK_MANAGER:RegisterCallback(TGT_LEADER_ICON_PROPERTIES_CHANGED, ShowMarker)
EVENT_MANAGER:RegisterForEvent(_name, EVENT_COMBAT_EVENT, ShowMarker)
else
CALLBACK_MANAGER:UnregisterCallback(TGT_LEADER_ICON_PROPERTIES_CHANGED, ShowMarker)
EVENT_MANAGER:UnregisterForEvent(_name, EVENT_COMBAT_EVENT)
HideMarker()
end
end
--[[
==============
PUBLIC METHODS
==============
]]--
--[[
Initialize initializes TGT_FloatingLeaderMarker
]]--
function TGT_FloatingLeaderMarker.Initialize(logger)
_logger = TGT_LOGGER
SetControlActive()
CALLBACK_MANAGER:RegisterCallback(TGT_LEADER_ICON_ACTIVE_CHANGED, SetControlActive)
_logger:logTrace("TGT_FloatingLeaderMarker -> Initialized")
end