Files
coa-elvui/ElvUI/Modules/Skins/Blizzard/Inspect.lua
T
Andrew6810 60ef8a38af init
2022-10-21 07:09:01 -07:00

190 lines
5.4 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 = unpack
--WoW API / Variables
local GetInventoryItemID = GetInventoryItemID
local GetItemInfo = GetItemInfo
local GetItemQualityColor = GetItemQualityColor
S:AddCallbackForAddon("Blizzard_InspectUI", "Skin_Blizzard_InspectUI", function()
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.inspect then return end
InspectFrame:StripTextures(true)
InspectFrame:CreateBackdrop("Transparent")
InspectFrame.backdrop:Point("TOPLEFT", 11, -12)
InspectFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
S:SetUIPanelWindowInfo(InspectFrame, "width")
S:SetBackdropHitRect(InspectFrame)
S:SetBackdropHitRect(InspectPVPFrame, InspectFrame.backdrop)
S:SetBackdropHitRect(InspectTalentFrame, InspectFrame.backdrop)
InspectPVPFrameHonor:SetHitRectInsets(0, 120, 0, 0)
InspectPVPFrameArena:SetHitRectInsets(0, 120, 0, 0)
S:HandleCloseButton(InspectFrameCloseButton, InspectFrame.backdrop)
S:HandleTab(InspectFrameTab1)
S:HandleTab(InspectFrameTab2)
S:HandleTab(InspectFrameTab3)
InspectPaperDollFrame:StripTextures()
local slots = {
"HeadSlot",
"NeckSlot",
"ShoulderSlot",
"BackSlot",
"ChestSlot",
"ShirtSlot",
"TabardSlot",
"WristSlot",
"HandsSlot",
"WaistSlot",
"LegsSlot",
"FeetSlot",
"Finger0Slot",
"Finger1Slot",
"Trinket0Slot",
"Trinket1Slot",
"MainHandSlot",
"SecondaryHandSlot",
"RangedSlot"
}
for _, slot in ipairs(slots) do
local icon = _G["Inspect"..slot.."IconTexture"]
local frame = _G["Inspect"..slot]
frame:StripTextures()
frame:SetFrameLevel(frame:GetFrameLevel() + 2)
frame:CreateBackdrop("Default")
frame.backdrop:SetAllPoints()
frame:StyleButton()
icon:SetTexCoord(unpack(E.TexCoords))
icon:SetInside()
end
local styleButton
do
local function awaitCache(button)
if InspectFrame.unit then
styleButton(button)
end
end
styleButton = function(button)
if button.hasItem then
local itemID = GetInventoryItemID(InspectFrame.unit, button:GetID())
if itemID then
local _, _, quality = GetItemInfo(itemID)
if not quality then
E:Delay(0.1, awaitCache, button)
return
elseif quality then
button.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality))
return
end
end
end
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end
hooksecurefunc("InspectPaperDollItemSlotButton_Update", styleButton)
S:HandleRotateButton(InspectModelRotateLeftButton)
S:HandleRotateButton(InspectModelRotateRightButton)
InspectPVPFrame:StripTextures()
for i = 1, MAX_ARENA_TEAMS do
local frame = _G["InspectPVPTeam"..i]
frame:StripTextures()
frame:CreateBackdrop("Transparent")
frame.backdrop:Point("TOPLEFT", 9, -6)
frame.backdrop:Point("BOTTOMRIGHT", -24, -5)
-- _G["InspectPVPTeam"..i.."StandardBar"]:Kill()
S:SetBackdropHitRect(frame)
end
InspectTalentFrame:StripTextures()
S:HandleCloseButton(InspectTalentFrameCloseButton, InspectFrame.backdrop)
for i = 1, MAX_TALENT_TABS do
local headerTab = _G["InspectTalentFrameTab"..i]
headerTab:StripTextures()
headerTab:CreateBackdrop("Default", true)
headerTab.backdrop:Point("TOPLEFT", 2, -7)
headerTab.backdrop:Point("BOTTOMRIGHT", 1, -1)
S:SetBackdropHitRect(headerTab)
headerTab:Width(i == 2 and 101 or 102)
headerTab.SetWidth = E.noop
headerTab:HookScript("OnEnter", S.SetModifiedBackdrop)
headerTab:HookScript("OnLeave", S.SetOriginalBackdrop)
end
for i = 1, MAX_NUM_TALENTS do
local talent = _G["InspectTalentFrameTalent"..i]
if talent then
local icon = _G["InspectTalentFrameTalent"..i.."IconTexture"]
local rank = _G["InspectTalentFrameTalent"..i.."Rank"]
talent:StripTextures()
talent:SetTemplate("Default")
talent:StyleButton()
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
icon:SetDrawLayer("ARTWORK")
rank:SetFont(E.LSM:Fetch("font", E.db.general.font), 12, "OUTLINE")
end
end
InspectHeadSlot:Point("TOPLEFT", 19, -76)
InspectHandsSlot:Point("TOPLEFT", 307, -76)
InspectMainHandSlot:Point("TOPLEFT", InspectPaperDollFrame, "BOTTOMLEFT", 121, 131)
InspectModelFrame:Size(237, 324)
InspectModelFrame:Point("TOPLEFT", 63, -76)
InspectModelRotateLeftButton:Point("TOPLEFT", 4, -4)
InspectTalentFrameScrollFrame:StripTextures()
InspectTalentFrameScrollFrame:CreateBackdrop("Transparent")
InspectTalentFrameScrollFrame.backdrop:Point("TOPLEFT", -1, 1)
InspectTalentFrameScrollFrame.backdrop:Point("BOTTOMRIGHT", 5, -4)
InspectTalentFramePointsBar:StripTextures()
InspectModelRotateRightButton:Point("TOPLEFT", InspectModelRotateLeftButton, "TOPRIGHT", 3, 0)
InspectFrameTab1:Point("CENTER", InspectFrame, "BOTTOMLEFT", 54, 62)
InspectFrameTab2:Point("LEFT", InspectFrameTab1, "RIGHT", -15, 0)
InspectFrameTab3:Point("LEFT", InspectFrameTab2, "RIGHT", -15, 0)
InspectTalentFrameBackgroundTopLeft:Point("TOPLEFT", 21, -77)
InspectTalentFrameTab1:Point("TOPLEFT", 17, -40)
InspectTalentFrameScrollFrame:Width(298)
InspectTalentFrameScrollFrame:Point("TOPRIGHT", -66, -77)
S:HandleScrollBar(InspectTalentFrameScrollFrameScrollBar)
InspectTalentFrameScrollFrameScrollBar:Point("TOPLEFT", InspectTalentFrameScrollFrame, "TOPRIGHT", 8, -18)
InspectTalentFrameScrollFrameScrollBar:Point("BOTTOMLEFT", InspectTalentFrameScrollFrame, "BOTTOMRIGHT", 8, 15)
end)