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.
80 lines
3.0 KiB
80 lines
3.0 KiB
|
|
--Pulled from CanIMogIt Overlay Sets.lua
|
|
local addonName, addon = ...
|
|
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
|
|
|
|
function addon:UpdateCanIMogIt()
|
|
end
|
|
|
|
if not C_AddOns.IsAddOnLoaded("CanIMogIt") then return end
|
|
local addonName, addon = ...
|
|
--addon = LibStub("AceAddon-3.0"):NewAddon(addon, addonName, "AceEvent-3.0", "AceConsole-3.0", "AceHook-3.0")
|
|
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
|
|
addon.Frame = LibStub("AceGUI-3.0")
|
|
|
|
|
|
local version = C_AddOns.GetAddOnMetadata("CanIMogIt", "Version")
|
|
|
|
|
|
local function UpdateText(parentFrame)
|
|
local frame = parentFrame.CanIMogItOverlay
|
|
if not frame then return end
|
|
if CanIMogItOptions["showSetInfo"] then
|
|
if not parentFrame.setID then frame.CanIMogItSetText:SetText(""); return end
|
|
local have, total = addon.SetsDataProvider:GetSetSourceCounts(parentFrame.setID)
|
|
local ratioText
|
|
if version == "10.1.5v1.53" then
|
|
ratioText = CanIMogIt:_GetRatioTextColor(have, total)
|
|
else
|
|
ratioText = CanIMogIt.GetRatioTextColor(have, total)
|
|
end
|
|
ratioText = ratioText .. have .. "/" .. total
|
|
|
|
if BetterWardrobeCollectionFrame.selectedCollectionTab == 2 then
|
|
frame.CanIMogItSetText:SetText(CanIMogIt:GetSetsVariantText(parentFrame.setID) or "")
|
|
|
|
elseif BetterWardrobeCollectionFrame.selectedCollectionTab == 3 then
|
|
frame.CanIMogItSetText:SetText(ratioText or "")
|
|
|
|
else
|
|
frame.CanIMogItSetText:SetText("")
|
|
end
|
|
else
|
|
frame.CanIMogItSetText:SetText("")
|
|
end
|
|
end
|
|
|
|
local function WardrobeCollectionFrame_CIMIOnValueChanged(_, elapsed)
|
|
-- For each button, update the text value
|
|
if _G["BetterWardrobeCollectionFrame"] == nil then return end
|
|
if not CanIMogIt.FrameShouldUpdate("WardrobeSets", elapsed or 1) then return end
|
|
local wardrobeSetsScrollFrame = _G["BetterWardrobeCollectionFrame"].SetsCollectionFrame.ListContainer.ScrollBox
|
|
local setFrames = wardrobeSetsScrollFrame:GetFrames()
|
|
for i = 1, #setFrames do
|
|
local frame = setFrames[i]
|
|
if frame then
|
|
-- add to frame
|
|
CIMI_AddToFrameSets(frame)
|
|
end
|
|
if frame and frame.CanIMogItOverlay then
|
|
-- update frame
|
|
UpdateText(frame)
|
|
end
|
|
end
|
|
end
|
|
|
|
function addon:UpdateCanIMogIt()
|
|
-- When the scrollbar moves, update the display.
|
|
_G["BetterWardrobeCollectionFrame"].SetsCollectionFrame.ListContainer:HookScript("OnUpdate", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
|
|
_G["BetterWardrobeCollectionFrameTab2"]:HookScript("OnClick", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
|
|
_G["BetterWardrobeCollectionFrameTab3"]:HookScript("OnClick", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
|
|
|
|
CanIMogIt:RegisterMessage("OptionUpdate", function () C_Timer.After(.05, WardrobeCollectionFrame_CIMIOnValueChanged) end)
|
|
|
|
addon.frame:SetScript("OnEvent", function (self, event, addonName)
|
|
if event == "TRANSMOG_SEARCH_UPDATED" then
|
|
-- Must add a delay, as the frame updates after this is called.
|
|
C_Timer.After(.05, WardrobeCollectionFrame_CIMIOnValueChanged)
|
|
end
|
|
end)
|
|
end
|