Files
coa-elvui/ElvUI_AddOnSkins/Skins/Addons/fishingBuddy.lua
T

132 lines
3.5 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("FishingBuddy") then return end
-- FishingBuddy 0.9.8 p1
-- https://www.curseforge.com/wow/addons/fishingbuddy/files/442409
S:AddCallbackForAddon("FishingBuddy", "FishingBuddy", function()
if not E.private.addOnSkins.FishingBuddy then return end
FishingBuddyFrame:CreateBackdrop("Transparent")
FishingBuddyFrame.backdrop:Point("TOPLEFT", 11, -12)
FishingBuddyFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
S:SetBackdropHitRect(FishingBuddyFrame)
FishingBuddyFramePortrait:Kill()
FishingLocationsFrame:StripTextures()
FishingOptionsFrame:StripTextures()
FishingLocationExpandButtonFrame:StripTextures()
S:HandleCloseButton(FishingBuddyCloseButton, FishingBuddyFrame.backdrop)
FishingLocsScrollFrame:StripTextures()
S:HandleScrollBar(FishingLocsScrollFrameScrollBar)
S:HandleButton(FishingLocationsSwitchButton)
S:HandleSliderFrame(FishingBuddyOption_MinimapRadSlider)
S:HandleSliderFrame(FishingBuddyOption_MinimapPosSlider)
S:HandleDropDownBox(FishingFluffPetMenu, 187)
S:HandleDropDownBox(FishingBuddyOption_OutfitMenu, 210)
S:HandleCheckBox(FishingBuddyOptionSLZ)
local skinnedTabs = 0
local function skinTabs()
local id = skinnedTabs + 1
local tab = _G["FishingBuddyFrameTab"..id]
while tab do
S:HandleTab(tab)
if id == 1 then
tab:Point("CENTER", FishingBuddyFrame, "BOTTOMLEFT", 54, 62)
else
tab:Point("LEFT", _G["FishingBuddyFrameTab" .. (id - 1)], "RIGHT", -15, 0)
end
tab.ClearAllPoints = E.noop
tab.SetPoint = E.noop
skinnedTabs = id
id = id + 1
tab = _G["FishingBuddyFrameTab"..id]
end
end
hooksecurefunc(FishingBuddy, "ManageFrame", skinTabs)
skinTabs()
if FishingBuddyOption_EasyCastKeys then
S:HandleDropDownBox(FishingBuddyOption_EasyCastKeys, 140)
else
S:SecureHook(FishingBuddy, "Initialize", function()
S:HandleDropDownBox(FishingBuddyOption_EasyCastKeys, 140)
S:Unhook(FishingBuddy, "Initialize")
end)
end
local function SkinCheckBoxes()
local checkBox
for i = 1, 12 do
checkBox = _G["FishingBuddyOption"..i]
if checkBox and not checkBox.isSkinned then
S:HandleCheckBox(checkBox)
checkBox.isSkinned = true
end
end
end
S:HookScript(FishingOptionsFrame, "OnShow", function()
E:Delay(0.01, SkinCheckBoxes)
S:Unhook(FishingOptionsFrame, "OnShow")
end)
local optionTabs = {
FishingBuddyOptionTab1,
FishingBuddyOptionTab2,
FishingBuddyOptionTab3
}
FishingBuddyOptionTab1:Point("TOPLEFT", FishingOptionsFrame, "TOPRIGHT", -33, -65)
FishingBuddyOptionTab1.ClearAllPoints = E.noop
FishingBuddyOptionTab1.SetPoint = E.noop
for _, frame in ipairs(optionTabs) do
frame:SetTemplate("Default")
frame:StyleButton()
frame:DisableDrawLayer("BACKGROUND")
frame:GetNormalTexture():SetInside(frame.backdrop)
frame:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
frame:HookScript("OnClick", function(self)
if not self.isSkinned then
SkinCheckBoxes()
self.isSkinned = true
end
end)
end
for i = 0, 21 do
if i == 0 then
S:HandleCollapseExpandButton(FishingLocationsCollapseAllButton)
else
local button = _G["FishingLocations"..i]
if button then
S:HandleCollapseExpandButton(button)
end
end
end
FishingWatchDrag:SetClampedToScreen(true)
FishingWatchDrag:SetClampRectInsets(0, 0, 23, 0)
FishingWatchTab:CreateBackdrop("Transparent")
FishingWatchTab.backdrop:Point("TOPLEFT", 4, -11)
FishingWatchTab.backdrop:Point("BOTTOMRIGHT", -2, 0)
FishingWatchTab:DisableDrawLayer("BACKGROUND")
end)