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.
410 lines
14 KiB
410 lines
14 KiB
|
|
local AS = unpack(AddOnSkins)
|
|
|
|
function AS:Blizzard_CraftUI(event, addon)
|
|
if addon ~= 'Blizzard_CraftUI' then return end
|
|
|
|
AS:SkinBackdropFrame(CraftFrame, nil, nil, true)
|
|
CraftFrame.Backdrop:SetPoint('TOPLEFT', 10, -12)
|
|
CraftFrame.Backdrop:SetPoint('BOTTOMRIGHT', -34, 70)
|
|
|
|
AS:SkinStatusBar(CraftRankFrame)
|
|
|
|
AS:StripTextures(CraftListScrollFrame)
|
|
AS:StripTextures(CraftDetailScrollFrame)
|
|
AS:StripTextures(CraftDetailScrollChildFrame)
|
|
|
|
AS:SkinScrollBar(CraftListScrollFrameScrollBar)
|
|
AS:SkinScrollBar(CraftDetailScrollFrameScrollBar)
|
|
|
|
AS:SkinButton(CraftCancelButton)
|
|
AS:SkinButton(CraftCreateButton)
|
|
|
|
AS:SkinFrame(CraftIcon)
|
|
AS:StyleButton(CraftIcon)
|
|
|
|
CraftRequirements:SetTextColor(1, 0.80, 0.10)
|
|
|
|
AS:SkinCloseButton(CraftFrameCloseButton, CraftFrame.backdrop)
|
|
|
|
AS:StripTextures(CraftExpandButtonFrame)
|
|
|
|
CraftCollapseAllButton:SetPoint('LEFT', CraftExpandTabLeft, 'RIGHT', -8, 5)
|
|
CraftCollapseAllButton:GetNormalTexture():SetPoint('LEFT', 3, 2)
|
|
CraftCollapseAllButton:GetNormalTexture():SetSize(15, 15)
|
|
|
|
CraftCollapseAllButton:SetHighlightTexture('')
|
|
CraftCollapseAllButton.SetHighlightTexture = AS.Noop
|
|
|
|
CraftCollapseAllButton:SetDisabledTexture(AS.Media.Textures.Minus)
|
|
CraftCollapseAllButton.SetDisabledTexture = AS.Noop
|
|
CraftCollapseAllButton:GetDisabledTexture():SetPoint('LEFT', 3, 2)
|
|
CraftCollapseAllButton:GetDisabledTexture():SetSize(15, 15)
|
|
CraftCollapseAllButton:GetDisabledTexture():SetDesaturated(true)
|
|
|
|
for i = 1, CRAFTS_DISPLAYED do
|
|
local button = _G['Craft'..i]
|
|
local highlight = _G['Craft'..i..'Highlight']
|
|
|
|
button:GetNormalTexture():SetSize(14, 14)
|
|
button:GetNormalTexture():SetPoint('LEFT', 4, 1)
|
|
|
|
highlight:SetTexture('')
|
|
highlight.SetTexture = AS.Noop
|
|
end
|
|
|
|
for i = 1, MAX_CRAFT_REAGENTS do
|
|
local reagent = _G['CraftReagent'..i]
|
|
local icon = _G['CraftReagent'..i..'IconTexture']
|
|
local name = _G['CraftReagent'..i..'Name']
|
|
local nameFrame = _G['CraftReagent'..i..'NameFrame']
|
|
|
|
AS:SetTemplate(reagent)
|
|
AS:StyleButton(reagent)
|
|
reagent:SetSize(143, 40)
|
|
|
|
AS:SkinTexture(icon, true)
|
|
|
|
name:SetPoint('LEFT', nameFrame, 'LEFT', 20, 0)
|
|
|
|
AS:Kill(nameFrame)
|
|
end
|
|
|
|
CraftReagent1:SetPoint('TOPLEFT', CraftReagentLabel, 'BOTTOMLEFT', -3, -3)
|
|
CraftReagent2:SetPoint('LEFT', CraftReagent1, 'RIGHT', 3, 0)
|
|
CraftReagent4:SetPoint('LEFT', CraftReagent3, 'RIGHT', 3, 0)
|
|
CraftReagent6:SetPoint('LEFT', CraftReagent5, 'RIGHT', 3, 0)
|
|
CraftReagent8:SetPoint('LEFT', CraftReagent7, 'RIGHT', 3, 0)
|
|
|
|
hooksecurefunc('CraftFrame_Update', function()
|
|
CraftRankFrame:SetStatusBarColor(0.13, 0.28, 0.85)
|
|
|
|
for i = 1, CRAFTS_DISPLAYED do
|
|
local button = _G['Craft'..i]
|
|
local texture = button:GetNormalTexture():GetTexture()
|
|
if texture then
|
|
if strfind(texture, 'MinusButton') then
|
|
button:SetNormalTexture(AS.Media.Textures.Minus)
|
|
elseif strfind(texture, 'PlusButton') then
|
|
button:SetNormalTexture(AS.Media.Textures.Plus)
|
|
end
|
|
end
|
|
end
|
|
|
|
if CraftCollapseAllButton.collapsed then
|
|
CraftCollapseAllButton:SetNormalTexture(AS.Media.Textures.Plus)
|
|
else
|
|
CraftCollapseAllButton:SetNormalTexture(AS.Media.Textures.Minus)
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc('CraftFrame_SetSelection', function(id)
|
|
if ( not id ) then
|
|
return;
|
|
end
|
|
|
|
CraftReagentLabel:SetPoint('TOPLEFT', CraftDescription, 'BOTTOMLEFT', 0, -10)
|
|
|
|
if CraftIcon:GetNormalTexture() then
|
|
CraftReagentLabel:SetAlpha(1)
|
|
CraftIcon:SetAlpha(1)
|
|
AS:SkinTexture(CraftIcon:GetNormalTexture())
|
|
AS:SetInside(CraftIcon:GetNormalTexture())
|
|
else
|
|
CraftReagentLabel:SetAlpha(0)
|
|
CraftIcon:SetAlpha(0)
|
|
end
|
|
|
|
local skillLink = GetCraftItemLink(id)
|
|
if skillLink then
|
|
local quality = select(3, GetItemInfo(skillLink))
|
|
if quality and quality > 1 then
|
|
CraftIcon:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
CraftName:SetTextColor(GetItemQualityColor(quality))
|
|
else
|
|
CraftIcon:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
CraftName:SetTextColor(1, 1, 1)
|
|
end
|
|
end
|
|
|
|
local numReagents = GetCraftNumReagents(id)
|
|
for i = 1, numReagents, 1 do
|
|
local _, _, reagentCount, playerReagentCount = GetCraftReagentInfo(id, i)
|
|
local reagentLink = GetCraftReagentItemLink(id, i)
|
|
local reagent = _G['CraftReagent'..i]
|
|
local icon = _G['CraftReagent'..i..'IconTexture']
|
|
local name = _G['CraftReagent'..i..'Name']
|
|
|
|
if reagentLink then
|
|
local quality = select(3, GetItemInfo(reagentLink))
|
|
if quality and quality > 1 then
|
|
icon.Backdrop:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
reagent:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
if playerReagentCount < reagentCount then
|
|
name:SetTextColor(0.5, 0.5, 0.5)
|
|
else
|
|
name:SetTextColor(GetItemQualityColor(quality))
|
|
end
|
|
else
|
|
reagent:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
end
|
|
end
|
|
end
|
|
|
|
if (numReagents < 4) then
|
|
CraftDetailScrollFrameScrollBar:Hide();
|
|
CraftDetailScrollFrameTop:Hide();
|
|
CraftDetailScrollFrameBottom:Hide();
|
|
else
|
|
CraftDetailScrollFrameScrollBar:Show();
|
|
CraftDetailScrollFrameTop:Show();
|
|
CraftDetailScrollFrameBottom:Show();
|
|
end
|
|
end)
|
|
end
|
|
|
|
function AS:Blizzard_TradeSkill(event, addon)
|
|
if addon ~= 'Blizzard_TradeSkillUI' then return end
|
|
AS:SkinBackdropFrame(_G.TradeSkillFrame, nil, nil, true)
|
|
_G.TradeSkillFramePortrait:SetAlpha(0)
|
|
_G.TradeSkillFrame.Backdrop:SetPoint('TOPLEFT', 11, -12)
|
|
_G.TradeSkillFrame.Backdrop:SetPoint('BOTTOMRIGHT', -32, 76)
|
|
AS:CreateShadow(_G.TradeSkillFrame)
|
|
_G.TradeSkillFrame.Shadow:SetPoint('TOPLEFT', 8, -9)
|
|
_G.TradeSkillFrame.Shadow:SetPoint('BOTTOMRIGHT', -29, 73)
|
|
|
|
AS:StripTextures(_G.TradeSkillRankFrame)
|
|
AS:CreateBackdrop(_G.TradeSkillRankFrame, "Transparent")
|
|
_G.TradeSkillRankFrame:Size(322, 16)
|
|
_G.TradeSkillRankFrame:ClearAllPoints()
|
|
_G.TradeSkillRankFrame:Point('TOP', -10, -45)
|
|
_G.TradeSkillRankFrame:SetStatusBarTexture(AS.NormTex)
|
|
|
|
AS:SkinCloseButton(_G.TradeSkillFrameCloseButton)
|
|
|
|
AS:StripTextures(_G.TradeSkillExpandButtonFrame)
|
|
|
|
local TradeSkillCollapseAllButton = _G.TradeSkillCollapseAllButton
|
|
TradeSkillCollapseAllButton:GetNormalTexture():SetPoint('LEFT', 3, 2)
|
|
TradeSkillCollapseAllButton:GetNormalTexture():SetSize(15, 15)
|
|
|
|
TradeSkillCollapseAllButton:SetHighlightTexture('')
|
|
TradeSkillCollapseAllButton.SetHighlightTexture = AS.Noop
|
|
|
|
TradeSkillCollapseAllButton:SetDisabledTexture(AS.Media.Textures.Minus)
|
|
TradeSkillCollapseAllButton.SetDisabledTexture = AS.Noop
|
|
TradeSkillCollapseAllButton:GetDisabledTexture():SetPoint('LEFT', 3, 2)
|
|
TradeSkillCollapseAllButton:GetDisabledTexture():SetSize(15, 15)
|
|
TradeSkillCollapseAllButton:GetDisabledTexture():SetDesaturated(true)
|
|
|
|
AS:SkinDropDownBox(_G.TradeSkillInvSlotDropDown)
|
|
_G.TradeSkillInvSlotDropDown:ClearAllPoints()
|
|
_G.TradeSkillInvSlotDropDown:SetPoint('TOPRIGHT', TradeSkillFrame, 'TOPRIGHT', -32, -64)
|
|
|
|
AS:SkinDropDownBox(_G.TradeSkillSubClassDropDown)
|
|
_G.TradeSkillSubClassDropDown:ClearAllPoints()
|
|
_G.TradeSkillSubClassDropDown:SetPoint('RIGHT', _G.TradeSkillInvSlotDropDown, 'RIGHT', -130, 0)
|
|
|
|
_G.TradeSkillFrameTitleText:ClearAllPoints()
|
|
_G.TradeSkillFrameTitleText:SetPoint('TOP', _G.TradeSkillFrame, 'TOP', 0, -18)
|
|
|
|
for i = 1, _G.TRADE_SKILLS_DISPLAYED do
|
|
local button = _G['TradeSkillSkill'..i]
|
|
local highlight = _G['TradeSkillSkill'..i..'Highlight']
|
|
|
|
button:GetNormalTexture():SetSize(14, 14)
|
|
button:GetNormalTexture():SetPoint('LEFT', 2, 1)
|
|
|
|
highlight:SetTexture('')
|
|
highlight.SetTexture = AS.Noop
|
|
end
|
|
|
|
hooksecurefunc('TradeSkillFrame_Update', function()
|
|
for i = 1, _G.TRADE_SKILLS_DISPLAYED do
|
|
local button = _G['TradeSkillSkill'..i]
|
|
local texture = button:GetNormalTexture():GetTexture()
|
|
if texture then
|
|
if strfind(texture, 'MinusButton') then
|
|
button:SetNormalTexture(AS.Media.Textures.Minus)
|
|
elseif strfind(texture, 'PlusButton') then
|
|
button:SetNormalTexture(AS.Media.Textures.Plus)
|
|
end
|
|
end
|
|
end
|
|
|
|
if TradeSkillCollapseAllButton.collapsed then
|
|
TradeSkillCollapseAllButton:SetNormalTexture(AS.Media.Textures.Plus)
|
|
else
|
|
TradeSkillCollapseAllButton:SetNormalTexture(AS.Media.Textures.Minus)
|
|
end
|
|
end)
|
|
|
|
AS:StripTextures(_G.TradeSkillDetailScrollFrame)
|
|
AS:StripTextures(_G.TradeSkillListScrollFrame)
|
|
AS:StripTextures(_G.TradeSkillDetailScrollChildFrame)
|
|
|
|
AS:SkinScrollBar(_G.TradeSkillListScrollFrameScrollBar)
|
|
AS:SkinScrollBar(_G.TradeSkillDetailScrollFrameScrollBar)
|
|
|
|
AS:StyleButton(_G.TradeSkillSkillIcon, nil, true)
|
|
|
|
for i = 1, _G.MAX_TRADE_SKILL_REAGENTS do
|
|
local icon = _G['TradeSkillReagent'..i..'IconTexture']
|
|
local nameFrame = _G['TradeSkillReagent'..i..'NameFrame']
|
|
|
|
AS:SkinTexture(icon, true)
|
|
|
|
AS:Kill(nameFrame)
|
|
end
|
|
|
|
AS:SkinButton(_G.TradeSkillCancelButton)
|
|
AS:SkinButton(_G.TradeSkillCreateButton)
|
|
AS:SkinButton(_G.TradeSkillCreateAllButton)
|
|
|
|
AS:SkinArrowButton(_G.TradeSkillDecrementButton)
|
|
_G.TradeSkillInputBox:SetHeight(16)
|
|
AS:SkinEditBox(_G.TradeSkillInputBox)
|
|
AS:SkinArrowButton(_G.TradeSkillIncrementButton)
|
|
|
|
hooksecurefunc('TradeSkillFrame_SetSelection', function(id)
|
|
local skillName, skillType, numAvailable, isExpanded = GetTradeSkillInfo(id)
|
|
if skillType == "header" then
|
|
return
|
|
end
|
|
|
|
if _G.TradeSkillSkillIcon:GetNormalTexture() then
|
|
_G.TradeSkillSkillIcon:SetAlpha(1)
|
|
AS:SkinTexture(_G.TradeSkillSkillIcon:GetNormalTexture(), true)
|
|
_G.TradeSkillSkillIcon:GetNormalTexture():SetInside()
|
|
else
|
|
_G.TradeSkillSkillIcon:SetAlpha(0)
|
|
end
|
|
|
|
_G.TradeSkillSkillIcon:SetSize(40, 40)
|
|
_G.TradeSkillSkillIcon:SetPoint('TOPLEFT', 2, -3)
|
|
|
|
local skillLink = GetTradeSkillItemLink(id)
|
|
if skillLink then
|
|
local quality = select(3, GetItemInfo(skillLink))
|
|
if quality and quality > 1 then
|
|
_G.TradeSkillSkillIcon:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
_G.TradeSkillSkillName:SetTextColor(GetItemQualityColor(quality))
|
|
else
|
|
_G.TradeSkillSkillIcon:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
_G.TradeSkillSkillName:SetTextColor(1, 1, 1)
|
|
end
|
|
end
|
|
|
|
local numReagents = GetTradeSkillNumReagents(id)
|
|
for i = 1, numReagents, 1 do
|
|
local _, _, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(id, i)
|
|
local reagentLink = GetTradeSkillReagentItemLink(id, i)
|
|
local icon = _G['TradeSkillReagent'..i..'IconTexture']
|
|
local name = _G['TradeSkillReagent'..i..'Name']
|
|
|
|
if reagentLink then
|
|
local quality = select(3, GetItemInfo(reagentLink))
|
|
if quality and quality > 1 then
|
|
icon.Backdrop:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
if playerReagentCount < reagentCount then
|
|
name:SetTextColor(0.5, 0.5, 0.5)
|
|
else
|
|
name:SetTextColor(GetItemQualityColor(quality))
|
|
end
|
|
else
|
|
icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
AS:UnregisterSkinEvent(addon, event)
|
|
end
|
|
|
|
function AS:Blizzard_TrainerUI(event, addon)
|
|
if addon ~= 'Blizzard_TrainerUI' then return end
|
|
|
|
AS:SkinBackdropFrame(ClassTrainerFrame, nil, nil, true)
|
|
AS:SkinCloseButton(ClassTrainerFrameCloseButton)
|
|
ClassTrainerFrame.Backdrop:SetPoint('TOPLEFT', 10, -11)
|
|
ClassTrainerFrame.Backdrop:SetPoint('BOTTOMRIGHT', -32, 74)
|
|
|
|
AS:SkinButton(ClassTrainerTrainButton, true)
|
|
AS:SkinButton(ClassTrainerCancelButton, true)
|
|
|
|
AS:SkinDropDownBox(ClassTrainerFrameFilterDropDown)
|
|
|
|
AS:StripTextures(_G.ClassTrainerListScrollFrame)
|
|
AS:SkinScrollBar(_G.ClassTrainerListScrollFrameScrollBar)
|
|
|
|
AS:StripTextures(_G.ClassTrainerDetailScrollFrame)
|
|
AS:SkinScrollBar(_G.ClassTrainerDetailScrollFrameScrollBar)
|
|
AS:StripTextures(_G.ClassTrainerSkillIcon)
|
|
|
|
hooksecurefunc('ClassTrainer_SetSelection', function()
|
|
local skillIcon = _G.ClassTrainerSkillIcon:GetNormalTexture()
|
|
if skillIcon then
|
|
skillIcon:SetInside()
|
|
AS:SkinTexture(skillIcon, true)
|
|
end
|
|
end)
|
|
|
|
for i = 1, _G.CLASS_TRAINER_SKILLS_DISPLAYED do
|
|
local button = _G['ClassTrainerSkill'..i]
|
|
local highlight = _G['ClassTrainerSkill'..i..'Highlight']
|
|
|
|
button:SetNormalTexture(AS.Media.Textures.Plus)
|
|
button.SetNormalTexture = AS.Noop
|
|
|
|
button:GetNormalTexture():SetSize(16, 16)
|
|
button:GetNormalTexture():SetPoint('LEFT', 5, 0)
|
|
|
|
highlight:SetTexture('')
|
|
highlight.SetTexture = AS.Noop
|
|
|
|
hooksecurefunc(button, 'SetNormalTexture', function(self, texture)
|
|
local tex = self:GetNormalTexture()
|
|
|
|
if strfind(texture, 'MinusButton') then
|
|
tex:SetTexture(AS.Media.Textures.Minus)
|
|
elseif strfind(texture, 'PlusButton') then
|
|
tex:SetTexture(AS.Media.Textures.Plus)
|
|
else
|
|
tex:SetTexture()
|
|
end
|
|
end)
|
|
end
|
|
|
|
AS:StripTextures(_G.ClassTrainerExpandButtonFrame)
|
|
|
|
_G.ClassTrainerCollapseAllButton:SetNormalTexture(AS.Media.Textures.Plus)
|
|
_G.ClassTrainerCollapseAllButton.SetNormalTexture = AS.Noop
|
|
_G.ClassTrainerCollapseAllButton:GetNormalTexture():SetPoint('LEFT', 3, 2)
|
|
_G.ClassTrainerCollapseAllButton:GetNormalTexture():SetSize(15, 15)
|
|
|
|
_G.ClassTrainerCollapseAllButton:SetHighlightTexture('')
|
|
_G.ClassTrainerCollapseAllButton.SetHighlightTexture = AS.Noop
|
|
|
|
_G.ClassTrainerCollapseAllButton:SetDisabledTexture(AS.Media.Textures.Plus)
|
|
_G.ClassTrainerCollapseAllButton.SetDisabledTexture = AS.Noop
|
|
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():SetPoint('LEFT', 3, 2)
|
|
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():SetSize(15, 15)
|
|
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():SetDesaturated(true)
|
|
|
|
hooksecurefunc(_G.ClassTrainerCollapseAllButton, 'SetNormalTexture', function(self, texture)
|
|
local tex = self:GetNormalTexture()
|
|
|
|
if strfind(texture, 'MinusButton') then
|
|
tex:SetTexture(AS.Media.Textures.Minus)
|
|
else
|
|
tex:SetTexture(AS.Media.Textures.Plus)
|
|
end
|
|
end)
|
|
|
|
AS:UnregisterSkinEvent(addon, event)
|
|
end
|
|
|
|
AS:RegisterSkin("Blizzard_CraftUI", AS.Blizzard_CraftUI, 'ADDON_LOADED')
|
|
AS:RegisterSkin('Blizzard_TradeSkill', AS.Blizzard_TradeSkill, 'ADDON_LOADED')
|
|
AS:RegisterSkin("Blizzard_TrainerUI", AS.Blizzard_TrainerUI, 'ADDON_LOADED')
|
|
|