Go to most recent revision | Compare with Previous | Blame | View Log
--[[ Addon: Taos Group Ultimate Author: TProg Taonnor Created by @Taonnor ]]-- --[[ Global variables ]]-- local LOG_ACTIVE = false --[[ Class GroupUltimateSelector ]]-- GroupUltimateSelector = {} GroupUltimateSelector.__index = GroupUltimateSelector --[[ Class Members ]]-- --[[ SetUltimateIcon sets the button icon in base of staticUltimateID ]]-- function GroupUltimateSelector.SetUltimateIcon(staticUltimateID) if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.SetUltimateIcon") logDebug("staticUltimateID: " .. tostring(staticUltimateID)) end local icon = "/esoui/art/icons/icon_missing.dds" if (staticUltimateID ~= 0) then icon = GetAbilityIcon(staticUltimateID) end local iconControl = UltimateSelectorControl:GetNamedChild("SelectorButtonControl"):GetNamedChild("Icon") if (icon ~= nil and iconControl ~= nil) then iconControl:SetTexture(icon) else logError("GroupUltimateSelector.SetUltimateIcon, icon is " .. tostring(icon) .. "; iconControl is " .. tostring(iconControl)) end end --[[ SetControlMovable sets the Movable and MouseEnabled flag in UI elements ]]-- function GroupUltimateSelector.SetControlMovable(isMovable) if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.SetControlMovable") logDebug("isMovable: " .. tostring(isMovable)) end UltimateSelectorControl:GetNamedChild("MovableControl"):SetHidden(isMovable == false) UltimateSelectorControl:SetMovable(isMovable) UltimateSelectorControl:SetMouseEnabled(isMovable) end --[[ RestorePosition sets GroupUltimateSelector on settings position ]]-- function GroupUltimateSelector.RestorePosition(posX, posY) if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.RestorePosition") logDebug("posX: " .. tostring(posX), "posY: " .. tostring(posY)) end UltimateSelectorControl:ClearAnchors() UltimateSelectorControl:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, posX, posY) end --[[ OnGroupUltimateSelectorMoveStop saves current GroupUltimateSelector position to settings ]]-- function GroupUltimateSelector.OnGroupUltimateSelectorMoveStop() if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.OnGroupUltimateSelectorMoveStop") end local left = UltimateSelectorControl:GetLeft() local top = UltimateSelectorControl:GetTop() SettingsHandler.SavedVariables.SelectorPosX = left SettingsHandler.SavedVariables.SelectorPosY = top if (LOG_ACTIVE) then logDebug("PosX set: " .. tostring(SettingsHandler.SavedVariables.SelectorPosX), "PosY set: " .. tostring(SettingsHandler.SavedVariables.SelectorPosY)) end end --[[ OnGroupUltimateSelectorClicked shows ultimate group menu ]]-- function GroupUltimateSelector.OnGroupUltimateSelectorClicked() if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.OnGroupUltimateSelectorClicked") end local button = UltimateSelectorControl:GetNamedChild("SelectorButtonControl"):GetNamedChild("Button") if (button ~= nil) then CALLBACK_MANAGER:RegisterCallback("TGU-SetUltimateGroup", GroupUltimateSelector.OnSetUltimateGroup) CALLBACK_MANAGER:FireCallbacks("TGU-ShowUltimateGroupMenu", button) else logError("GroupUltimateSelector.OnGroupUltimateSelectorClicked, button nil") end end --[[ OnSetUltimateGroup sets ultimate group for button ]]-- function GroupUltimateSelector.OnSetUltimateGroup(group) if (LOG_ACTIVE) then logTrace("UltimateGroupMenu.ShowUltimateGroupMenu") logDebug("group.GroupName: " .. group.GroupName) end CALLBACK_MANAGER:UnregisterCallback("TGU-SetUltimateGroup", GroupUltimateSelector.OnSetUltimateGroup) if (group ~= nil) then SettingsHandler.SetStaticUltimateIDSettings(group.GroupAbilityId) else logError("UltimateGroupMenu.ShowUltimateGroupMenu, group nil") end end --[[ SetControlHidden sets hidden on control ]]-- function GroupUltimateSelector.SetControlHidden(isHidden) if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.SetControlHidden") logDebug("isHidden: " .. tostring(isHidden)) end UltimateSelectorControl:SetHidden(isHidden) end --[[ Initialize initializes GroupUltimateSelector ]]-- function GroupUltimateSelector.Initialize(isMovable, posX, posY, staticUltimateID) if (LOG_ACTIVE) then logTrace("GroupUltimateSelector.Initialize") logDebug("isMovable: " .. tostring(isMovable), "posX: " .. tostring(posX), "posY: " .. tostring(posY), "staticUltimateID: " .. tostring(staticUltimateID)) end GroupUltimateSelector.SetControlMovable(isMovable) GroupUltimateSelector.RestorePosition(posX, posY) GroupUltimateSelector.SetUltimateIcon(staticUltimateID) CALLBACK_MANAGER:RegisterCallback("TGU-MovableChanged", GroupUltimateSelector.SetControlMovable) CALLBACK_MANAGER:RegisterCallback("TGU-StaticUltimateIDChanged", GroupUltimateSelector.SetUltimateIcon) end