97 lines
2.8 KiB
Lua
97 lines
2.8 KiB
Lua
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
|
local S = E:GetModule('Skins')
|
|
|
|
local _G = _G
|
|
local pairs, unpack = pairs, unpack
|
|
local hooksecurefunc = hooksecurefunc
|
|
|
|
-- Credits Siweia | AuroraClassic
|
|
|
|
local function UpdateSelection(frame)
|
|
if not frame.backdrop then return end
|
|
|
|
if frame.SelectedTexture:IsShown() then
|
|
frame.backdrop:SetBackdropBorderColor(1, .8, 0)
|
|
else
|
|
frame.backdrop:SetBackdropBorderColor(0, 0, 0)
|
|
end
|
|
end
|
|
|
|
local IconColor = E.QualityColors[Enum.ItemQuality.Epic or 4] -- epic color only
|
|
local function SkinRewardIcon(itemFrame)
|
|
if not itemFrame.IsSkinned then
|
|
itemFrame:CreateBackdrop('Transparent')
|
|
itemFrame:DisableDrawLayer('BORDER')
|
|
itemFrame.Icon:SetPoint('LEFT', 6, 0)
|
|
S:HandleIcon(itemFrame.Icon, true)
|
|
itemFrame.backdrop:SetBackdropBorderColor(IconColor.r, IconColor.g, IconColor.b)
|
|
itemFrame.IsSkinned = true
|
|
end
|
|
end
|
|
|
|
local function SkinActivityFrame(frame, isObject)
|
|
if frame.Border then
|
|
if isObject then
|
|
frame.Border:SetAlpha(0)
|
|
frame.SelectedTexture:SetAlpha(0)
|
|
frame.LockIcon:SetVertexColor(unpack(E.media.rgbvaluecolor))
|
|
hooksecurefunc(frame, "SetSelectionState", UpdateSelection)
|
|
hooksecurefunc(frame.ItemFrame, 'SetDisplayedItem', SkinRewardIcon)
|
|
else
|
|
frame.Border:SetTexCoord(.926, 1, 0, 1)
|
|
frame.Border:Size(25, 137)
|
|
frame.Border:Point('LEFT', frame, 'RIGHT', 3, 0)
|
|
end
|
|
end
|
|
|
|
if frame.Background then
|
|
frame.Background:CreateBackdrop()
|
|
end
|
|
end
|
|
|
|
function S:Blizzard_WeeklyRewards()
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.weeklyRewards) then return end
|
|
|
|
-- /run UIParent_OnEvent({}, 'WEEKLY_REWARDS_SHOW')
|
|
local frame = _G.WeeklyRewardsFrame
|
|
local header = frame.HeaderFrame
|
|
|
|
if E.private.skins.parchmentRemoverEnable then
|
|
frame:StripTextures()
|
|
header:StripTextures()
|
|
end
|
|
|
|
frame:CreateBackdrop('Transparent')
|
|
header:CreateBackdrop('Transparent')
|
|
header:Point('TOP', 1, -42)
|
|
|
|
S:HandleCloseButton(frame.CloseButton)
|
|
S:HandleButton(frame.SelectRewardButton)
|
|
|
|
SkinActivityFrame(frame.RaidFrame)
|
|
SkinActivityFrame(frame.MythicFrame)
|
|
SkinActivityFrame(frame.PVPFrame)
|
|
|
|
for _, activity in pairs(frame.Activities) do
|
|
SkinActivityFrame(activity, true)
|
|
end
|
|
|
|
hooksecurefunc(frame, 'SelectReward', function(self)
|
|
local confirmSelectionFrame = self.confirmSelectionFrame
|
|
if confirmSelectionFrame and not confirmSelectionFrame.IsSkinned then
|
|
local itemFrame = confirmSelectionFrame.ItemFrame
|
|
S:HandleIcon(itemFrame.Icon, true)
|
|
S:HandleIconBorder(itemFrame.IconBorder, itemFrame.IconBorder.backdrop) --Monitor this
|
|
|
|
local nameframe = _G[confirmSelectionFrame:GetName()..'NameFrame']
|
|
if nameframe then
|
|
nameframe:Hide()
|
|
end
|
|
|
|
confirmSelectionFrame.IsSkinned = true
|
|
end
|
|
end)
|
|
end
|
|
|
|
S:AddCallbackForAddon('Blizzard_WeeklyRewards')
|