update Merchant skin

This commit is contained in:
Crum
2017-12-15 21:53:58 -06:00
parent 3bc3e5c9d8
commit 008fa489c0
@@ -3,10 +3,16 @@ local S = E:GetModule("Skins");
--Cache global variables --Cache global variables
--Lua functions --Lua functions
local _G = getfenv() local _G = _G
local select = select local select = select
local unpack = unpack local unpack = unpack
local find, split = string.find, string.split
--WoW API / Variables --WoW API / Variables
local GetBuybackItemInfo = GetBuybackItemInfo
local GetItemInfo = GetItemInfo
local GetItemQualityColor = GetItemQualityColor
local GetMerchantItemLink = GetMerchantItemLink
local GetItemLinkByName = GetItemLinkByName
local hooksecurefunc = hooksecurefunc local hooksecurefunc = hooksecurefunc
local function LoadSkin() local function LoadSkin()
@@ -37,9 +43,6 @@ local function LoadSkin()
iconTexture:SetTexCoord(unpack(E.TexCoords)) iconTexture:SetTexCoord(unpack(E.TexCoords))
E:SetInside(iconTexture) E:SetInside(iconTexture)
-- altCurrencyTex1:SetTexCoord(unpack(E.TexCoords))
-- altCurrencyTex2:SetTexCoord(unpack(E.TexCoords))
_G["MerchantItem" .. i .. "MoneyFrame"]:ClearAllPoints() _G["MerchantItem" .. i .. "MoneyFrame"]:ClearAllPoints()
_G["MerchantItem" .. i .. "MoneyFrame"]:SetPoint("BOTTOMLEFT", itemButton, "BOTTOMRIGHT", 3, 0) _G["MerchantItem" .. i .. "MoneyFrame"]:SetPoint("BOTTOMLEFT", itemButton, "BOTTOMRIGHT", 3, 0)
end end
@@ -51,7 +54,7 @@ local function LoadSkin()
E:SetTemplate(MerchantRepairItemButton, "Default", true) E:SetTemplate(MerchantRepairItemButton, "Default", true)
for i = 1, MerchantRepairItemButton:GetNumRegions() do for i = 1, MerchantRepairItemButton:GetNumRegions() do
local region = select(i, MerchantRepairItemButton:GetRegions()) local region = select(i, MerchantRepairItemButton:GetRegions())
if(region:GetObjectType() == "Texture") then if region:GetObjectType() == "Texture" then
region:SetTexCoord(0.04, 0.24, 0.06, 0.5) region:SetTexCoord(0.04, 0.24, 0.06, 0.5)
E:SetInside(region) E:SetInside(region)
end end
@@ -79,59 +82,77 @@ local function LoadSkin()
hooksecurefunc("MerchantFrame_UpdateMerchantInfo", function() hooksecurefunc("MerchantFrame_UpdateMerchantInfo", function()
local numMerchantItems = GetMerchantNumItems() local numMerchantItems = GetMerchantNumItems()
local index for i = 1, MERCHANT_ITEMS_PER_PAGE do
local itemButton, itemName, itemLink local index = (((MerchantFrame.page - 1) * MERCHANT_ITEMS_PER_PAGE) + i)
for i = 1, BUYBACK_ITEMS_PER_PAGE do local itemButton = _G["MerchantItem" .. i .. "ItemButton"]
index = (((MerchantFrame.page - 1) * MERCHANT_ITEMS_PER_PAGE) + i) local itemName = _G["MerchantItem" .. i .. "Name"]
itemButton = _G["MerchantItem" .. i .. "ItemButton"]
itemName = _G["MerchantItem" .. i .. "Name"]
if(index <= numMerchantItems) then if index <= numMerchantItems then
itemLink = GetMerchantItemLink(index) local itemLink = GetMerchantItemLink(index)
if(itemLink) then if itemLink then
for id in string.gfind(itemLink, "item:(%d+)") do local itemString = select(3, find(itemLink, "|H(.+)|h"))
itemLink = id local itemID = select(2, split(":", itemString))
end local quality = select(3, GetItemInfo(itemID))
local _, _, quality = GetItemInfo(itemLink)
local r, g, b = GetItemQualityColor(quality)
itemName:SetTextColor(r, g, b)
if quality then if quality then
itemButton:SetBackdropBorderColor(r, g, b) itemName:SetTextColor(GetItemQualityColor(quality))
else if quality > 1 then
itemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor)) itemButton:SetBackdropBorderColor(GetItemQualityColor(quality))
else
itemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor))
end
end end
end end
end end
--local buybackName = GetBuybackItemInfo(GetNumBuybackItems()) local buybackName = GetBuybackItemInfo(GetNumBuybackItems())
--if buybackName then if buybackName then
-- local r, g, b = GetItemQualityColor("???") local itemLink = GetItemLinkByName(buybackName)
-- MerchantBuyBackItemName:SetTextColor(r, g, b) if itemLink then
-- MerchantBuyBackItemItemButton:SetBackdropBorderColor(r, g, b) local itemString = select(3, find(itemLink, "|H(.+)|h"))
--else local itemID = select(2, split(":", itemString))
-- MerchantBuyBackItemItemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor)) local quality = select(3, GetItemInfo(itemID))
--end if quality then
MerchantBuyBackItemName:SetTextColor(GetItemQualityColor(quality))
if quality > 1 then
MerchantBuyBackItemItemButton:SetBackdropBorderColor(GetItemQualityColor(quality))
else
MerchantBuyBackItemItemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor))
end
else
MerchantBuyBackItemItemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor))
end
end
end
end end
end) end)
--hooksecurefunc("MerchantFrame_UpdateBuybackInfo", function() hooksecurefunc("MerchantFrame_UpdateBuybackInfo", function()
-- local numBuybackItems = GetNumBuybackItems() local numBuybackItems = GetNumBuybackItems()
-- local itemButton, itemName for i = 1, BUYBACK_ITEMS_PER_PAGE do
-- for i = 1, BUYBACK_ITEMS_PER_PAGE do local itemButton = _G["MerchantItem" .. i .. "ItemButton"]
-- itemButton = _G["MerchantItem" .. i .. "ItemButton"] local itemName = _G["MerchantItem" .. i .. "Name"]
-- itemName = _G["MerchantItem" .. i .. "Name"]
-- if i <= numBuybackItems then
-- if i <= numBuybackItems then local buybackName = GetBuybackItemInfo(i)
-- local buybackName = GetBuybackItemInfo(i) if buybackName then
-- if buybackName then local itemLink = GetItemLinkByName(buybackName)
-- local r, g, b = GetItemQualityColor("???") if itemLink then
-- itemName:SetTextColor(r, g, b) local itemString = select(3, find(itemLink, "|H(.+)|h"))
-- itemButton:SetBackdropBorderColor(r, g, b) local itemID = select(2, split(":", itemString))
-- end local quality = select(3, GetItemInfo(itemID))
-- end if quality then
-- end itemName:SetTextColor(GetItemQualityColor(quality))
--end) if quality > 1 then
itemButton:SetBackdropBorderColor(GetItemQualityColor(quality))
else
itemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor))
end
end
end
end
end
end
end)
end end
S:AddCallback("Merchant", LoadSkin) S:AddCallback("Merchant", LoadSkin)