Files
Andrew6810 60ef8a38af init
2022-10-21 07:09:01 -07:00

146 lines
5.2 KiB
Lua

local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local S = E:GetModule("Skins")
--Lua functions
local _G = _G
local unpack, select = unpack, select
--WoW API / Variables
local GetItemInfo = GetItemInfo
local GetItemQualityColor = GetItemQualityColor
local GetTradePlayerItemLink = GetTradePlayerItemLink
local GetTradeTargetItemLink = GetTradeTargetItemLink
S:AddCallback("Skin_Trade", function()
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.trade then return end
TradeFrame:StripTextures(true)
TradeFrame:CreateBackdrop("Transparent")
TradeFrame.backdrop:Point("TOPLEFT", 11, -12)
TradeFrame.backdrop:Point("BOTTOMRIGHT", -21, 49)
S:SetUIPanelWindowInfo(TradeFrame, "width")
S:SetBackdropHitRect(TradeFrame)
S:HandleCloseButton(TradeFrameCloseButton, TradeFrame.backdrop)
S:HandleButton(TradeFrameTradeButton)
S:HandleButton(TradeFrameCancelButton)
S:HandleEditBox(TradePlayerInputMoneyFrameGold)
S:HandleEditBox(TradePlayerInputMoneyFrameSilver)
S:HandleEditBox(TradePlayerInputMoneyFrameCopper)
for i = 1, MAX_TRADE_ITEMS do
local player = _G["TradePlayerItem"..i]
local recipient = _G["TradeRecipientItem"..i]
local playerButton = _G["TradePlayerItem"..i.."ItemButton"]
local playerButtonIcon = _G["TradePlayerItem"..i.."ItemButtonIconTexture"]
local recipientButton = _G["TradeRecipientItem"..i.."ItemButton"]
local recipientButtonIcon = _G["TradeRecipientItem"..i.."ItemButtonIconTexture"]
player:StripTextures()
recipient:StripTextures()
playerButton:StripTextures()
playerButton:StyleButton()
playerButton:SetTemplate("Default", true)
playerButtonIcon:SetInside()
playerButtonIcon:SetTexCoord(unpack(E.TexCoords))
recipientButton:StripTextures()
recipientButton:StyleButton()
recipientButton:SetTemplate("Default", true)
recipientButtonIcon:SetInside()
recipientButtonIcon:SetTexCoord(unpack(E.TexCoords))
playerButton.bg = CreateFrame("Frame", nil, playerButton)
playerButton.bg:SetTemplate("Default")
playerButton.bg:Point("TOPLEFT", playerButton, "TOPRIGHT", 4, 0)
playerButton.bg:Point("BOTTOMRIGHT", _G["TradePlayerItem"..i.."NameFrame"], "BOTTOMRIGHT", 0, 14)
playerButton.bg:SetFrameLevel(playerButton:GetFrameLevel() - 3)
recipientButton.bg = CreateFrame("Frame", nil, recipientButton)
recipientButton.bg:SetTemplate("Default")
recipientButton.bg:Point("TOPLEFT", recipientButton, "TOPRIGHT", 4, 0)
recipientButton.bg:Point("BOTTOMRIGHT", _G["TradeRecipientItem"..i.."NameFrame"], "BOTTOMRIGHT", 0, 14)
recipientButton.bg:SetFrameLevel(recipientButton:GetFrameLevel() - 3)
end
TradeHighlightPlayerTop:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayerBottom:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayerMiddle:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayerEnchantTop:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayerEnchantBottom:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayerEnchantMiddle:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientTop:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientBottom:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientMiddle:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientEnchantTop:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientEnchantBottom:SetTexture(0, 1, 0, 0.2)
TradeHighlightRecipientEnchantMiddle:SetTexture(0, 1, 0, 0.2)
TradeHighlightPlayer:SetFrameStrata("HIGH")
TradeHighlightRecipient:SetFrameStrata("HIGH")
TradeHighlightPlayerEnchant:SetFrameStrata("HIGH")
TradeHighlightRecipientEnchant:SetFrameStrata("HIGH")
hooksecurefunc("TradeFrame_UpdatePlayerItem", function(id)
local tradeItemButton = _G["TradePlayerItem"..id.."ItemButton"]
local link = GetTradePlayerItemLink(id)
if link then
local tradeItemName = _G["TradePlayerItem"..id.."Name"]
local quality = select(3, GetItemInfo(link))
tradeItemName:SetTextColor(GetItemQualityColor(quality))
if quality then
tradeItemButton:SetBackdropBorderColor(GetItemQualityColor(quality))
else
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
else
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end)
hooksecurefunc("TradeFrame_UpdateTargetItem", function(id)
local tradeItemButton = _G["TradeRecipientItem"..id.."ItemButton"]
local link = GetTradeTargetItemLink(id)
if link then
local tradeItemName = _G["TradeRecipientItem"..id.."Name"]
local quality = select(3, GetItemInfo(link))
tradeItemName:SetTextColor(GetItemQualityColor(quality))
if quality then
tradeItemButton:SetBackdropBorderColor(GetItemQualityColor(quality))
else
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
else
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end)
TradePlayerInputMoneyFrame:Point("TOPLEFT", 26, -53)
TradeRecipientMoneyFrame:Point("TOPRIGHT", -40, -58)
TradePlayerItem1:Point("TOPLEFT", 23, -94)
TradeRecipientItem1:Point("TOPLEFT", 196, -94)
TradeHighlightPlayer:Height(263)
TradeHighlightRecipient:Height(263)
TradeHighlightPlayer:Point("TOPLEFT", 20, -91)
TradeHighlightRecipient:Point("TOPLEFT", 193, -91)
TradeFramePlayerEnchantText:Point("TOPLEFT", 26, -364)
TradeFrameTradeButton:Point("BOTTOMRIGHT", -113, 61)
end)