df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
258 lines
9.0 KiB
Lua
258 lines
9.0 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local S = E:GetModule("Skins")
|
|
local AS = E:GetModule("AddOnSkins")
|
|
|
|
if not AS:IsAddonLODorEnabled("ArkInventory") then return end
|
|
|
|
local _G = _G
|
|
local ipairs = ipairs
|
|
local unpack = unpack
|
|
local format = string.format
|
|
|
|
-- ArkInventory 3.02.54
|
|
-- https://www.wowace.com/projects/ark-inventory/files/458795
|
|
|
|
S:AddCallbackForAddon("ArkInventory", "ArkInventory", function()
|
|
if not E.private.addOnSkins.ArkInventory then return end
|
|
|
|
local function skinIcon(frame)
|
|
if frame.isSkinned then return end
|
|
|
|
local icon = frame:GetNormalTexture()
|
|
|
|
frame:SetTemplate("Default", true)
|
|
frame:StyleButton()
|
|
|
|
icon:SetInside()
|
|
icon:SetTexCoord(unpack(E.TexCoords))
|
|
icon.SetTexCoord = E.noop
|
|
|
|
frame.isSkinned = true
|
|
end
|
|
|
|
for i = 1, #ArkInventory.Global.Location do
|
|
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, i)
|
|
local frame = _G[frameName]
|
|
|
|
if frame then
|
|
-- Title
|
|
S:HandleCloseButton(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Close")])
|
|
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Location0")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton11")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton12")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton13")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton14")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton21")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton22")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton23")])
|
|
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton24")])
|
|
|
|
-- Search
|
|
S:HandleEditBox(_G[format("%s%s%s", frame:GetName(), ArkInventory.Const.Frame.Search.Name, "Filter")])
|
|
end
|
|
end
|
|
|
|
hooksecurefunc(ArkInventory, "Frame_Main_Anchor_Set", function(loc_id)
|
|
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, loc_id)
|
|
|
|
local anchor = ArkInventory.LocationOptionGet(loc_id, "anchor", loc_id, "point")
|
|
|
|
local title = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Title.Name)]
|
|
local search = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Search.Name)]
|
|
local container = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Container.Name)]
|
|
local changer = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Changer.Name)]
|
|
local status = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Status.Name)]
|
|
|
|
if anchor == ArkInventory.Const.Anchor.BottomRight then
|
|
changer:Point("BOTTOMRIGHT", status, "TOPRIGHT", 0, -1)
|
|
container:Point("BOTTOMRIGHT", changer, "TOPRIGHT", 0, -1)
|
|
search:Point("BOTTOMRIGHT", container, "TOPRIGHT", 0, -1)
|
|
title:Point("BOTTOMRIGHT", search, "TOPRIGHT", 0, -1)
|
|
elseif anchor == ArkInventory.Const.Anchor.BottomLeft then
|
|
changer:Point("BOTTOMLEFT", status, "TOPLEFT", 0, -1)
|
|
container:Point("BOTTOMLEFT", changer, "TOPLEFT", 0, -1)
|
|
search:Point("BOTTOMLEFT", container, "TOPLEFT", 0, -1)
|
|
title:Point("BOTTOMLEFT", search, "TOPLEFT", 0, -1)
|
|
elseif anchor == ArkInventory.Const.Anchor.TopLeft then
|
|
search:Point("TOPLEFT", title, "BOTTOMLEFT", 0, 1)
|
|
container:Point("TOPLEFT", search, "BOTTOMLEFT", 0, 1)
|
|
changer:Point("TOPLEFT", container, "BOTTOMLEFT", 0, 1)
|
|
status:Point("TOPLEFT", changer, "BOTTOMLEFT", 0, 1)
|
|
else
|
|
search:Point("TOPRIGHT", title, "BOTTOMRIGHT", 0, 1)
|
|
container:Point("TOPRIGHT", search, "BOTTOMRIGHT", 0, 1)
|
|
changer:Point("TOPRIGHT", container, "BOTTOMRIGHT", 0, 1)
|
|
status:Point("TOPRIGHT", changer, "BOTTOMRIGHT", 0, 1)
|
|
end
|
|
end)
|
|
|
|
ArkInventory.Frame_Main_Paint = function(frame)
|
|
if not ArkInventory.ValidFrame(frame, true) then return end
|
|
|
|
for _, child in ipairs({frame:GetChildren()}) do
|
|
if not child.isSkinned then
|
|
child:SetTemplate("Transparent")
|
|
|
|
local frameName = child:GetName()
|
|
if frameName then
|
|
local bg = _G[format("%s%s", frameName, "Background")]
|
|
local border = _G[format("%s%s", frameName, "ArkBorder")]
|
|
|
|
if bg then
|
|
bg:Hide()
|
|
end
|
|
if border then
|
|
border:Hide()
|
|
end
|
|
end
|
|
|
|
child.isSkinned = true
|
|
end
|
|
end
|
|
end
|
|
|
|
local defaultColors = ArkInventory.Const.Slot.DefaultColour
|
|
|
|
ArkInventory.Frame_Border_Paint = function(border, slot, file, size, offset, scale, r, g, b, a)
|
|
if not border.parent then return end
|
|
|
|
if r == defaultColors.r and g == defaultColors.g and b == defaultColors.b then
|
|
r, g, b = unpack(E.media.bordercolor)
|
|
border.parent:SetBackdropBorderColor(r, g, b, 1)
|
|
else
|
|
border.parent:SetBackdropBorderColor(r or 0, g or 0, b or 0, a)
|
|
end
|
|
end
|
|
|
|
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
|
|
local questColors = {
|
|
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
|
|
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
|
|
}
|
|
|
|
local function updateQuestIcon(self, texture)
|
|
if texture == TEXTURE_ITEM_QUEST_BORDER then
|
|
self.parent:SetBackdropBorderColor(unpack(questColors.questItem))
|
|
self:SetAlpha(0)
|
|
else
|
|
self.parent:SetBackdropBorderColor(unpack(questColors.questStarter))
|
|
self:SetAlpha(1)
|
|
end
|
|
end
|
|
|
|
local function skinItemButton(frame)
|
|
if frame.isSkinned then return end
|
|
|
|
local frameName = frame:GetName()
|
|
local icon = _G[format("%s%s", frameName, "IconTexture")]
|
|
local border = _G[format("%s%s", frameName, "ArkBorder")]
|
|
local questIcon = _G[format("%s%s", frameName, "IconQuestTexture")]
|
|
local cooldown = _G[format("%s%s", frameName, "Cooldown")]
|
|
|
|
frame:SetNormalTexture(nil)
|
|
frame:SetTemplate("Default", true)
|
|
frame:StyleButton()
|
|
|
|
icon:SetInside()
|
|
icon:SetTexCoord(unpack(E.TexCoords))
|
|
icon.SetTexCoord = E.noop
|
|
|
|
border:Kill()
|
|
border.parent = frame
|
|
|
|
if questIcon then
|
|
questIcon:SetInside()
|
|
questIcon:SetTexture(E.Media.Textures.BagQuestIcon)
|
|
questIcon.SetTexture = updateQuestIcon
|
|
questIcon.parent = frame
|
|
end
|
|
|
|
if cooldown then
|
|
cooldown.CooldownOverride = "bags"
|
|
E:RegisterCooldown(cooldown)
|
|
end
|
|
|
|
frame.isSkinned = true
|
|
end
|
|
|
|
hooksecurefunc(ArkInventory, "Frame_Item_Update_Border", function(frame)
|
|
if not ArkInventory.ValidFrame(frame, true) then return end
|
|
skinItemButton(frame)
|
|
end)
|
|
|
|
-- GuildBank
|
|
S:HandleButton(ARKINV_Frame4ChangerWindowPurchaseInfoPurchaseButton)
|
|
S:HandleButton(ARKINV_Frame4ChangerWindowDepositButton)
|
|
S:HandleButton(ARKINV_Frame4ChangerWindowWithdrawButton)
|
|
|
|
S:HandleNextPrevButton(ARKINV_Frame4LogScrollUp, "up")
|
|
S:HandleNextPrevButton(ARKINV_Frame4LogScrollDown, "down")
|
|
|
|
S:HandleButton(ARKINV_Frame4InfoSave)
|
|
S:HandleScrollBar(ARKINV_Frame4InfoScrollScrollBar)
|
|
|
|
-- Search Frame
|
|
ARKINV_SearchTitleBackground:Kill()
|
|
ARKINV_SearchFrameBackground:Kill()
|
|
|
|
ARKINV_SearchTitle:SetTemplate("Transparent")
|
|
ARKINV_SearchFrame:SetTemplate("Transparent")
|
|
|
|
ARKINV_Rules:SetHeight(570)
|
|
ARKINV_SearchFrame:Point("TOPLEFT", ARKINV_SearchTitle, "BOTTOMLEFT", 0, 1)
|
|
|
|
S:HandleCloseButton(ARKINV_SearchTitleClose)
|
|
S:HandleEditBox(ARKINV_SearchFrameViewSearchFilter)
|
|
S:HandleScrollBar(ARKINV_SearchFrameViewTableScrollScrollBar)
|
|
|
|
AS:SkinLibrary("ArkDewdrop-3.0")
|
|
end)
|
|
|
|
S:AddCallbackForAddon("ArkInventoryRules", "ArkInventoryRules", function()
|
|
if not E.private.addOnSkins.ArkInventory then return end
|
|
|
|
ArkInventoryRules.Frame_Rules_Paint_Border = E.noop
|
|
|
|
-- Rules
|
|
ARKINV_RulesTitleBackground:Kill()
|
|
ARKINV_RulesFrameBackground:Kill()
|
|
|
|
ARKINV_RulesTitle:SetTemplate("Transparent")
|
|
ARKINV_RulesFrame:SetTemplate("Transparent")
|
|
|
|
ARKINV_RulesFrameViewSearch:SetTemplate("Transparent")
|
|
ARKINV_RulesFrameViewTable:SetTemplate("Transparent")
|
|
|
|
ARKINV_RulesFrame:Point("TOPLEFT", ARKINV_RulesTitle, "BOTTOMLEFT", 0, 1)
|
|
ARKINV_RulesFrameViewTitle:SetPoint("TOP")
|
|
|
|
S:HandleCloseButton(ARKINV_RulesTitleClose)
|
|
|
|
S:HandleEditBox(ARKINV_RulesFrameViewSearchFilter)
|
|
S:HandleScrollBar(ARKINV_RulesFrameViewTableScrollScrollBar)
|
|
|
|
S:HandleButton(ARKINV_RulesFrameViewMenuAdd)
|
|
S:HandleButton(ARKINV_RulesFrameViewMenuEdit)
|
|
S:HandleButton(ARKINV_RulesFrameViewMenuRemove)
|
|
|
|
-- Add Rule
|
|
ARKINV_RulesFrameModifyTitle:SetPoint("TOP")
|
|
|
|
S:HandleCheckBox(ARKINV_RulesFrameModifyDataEnabled)
|
|
|
|
ARKINV_RulesFrameModifyDataOrder:Height(22)
|
|
S:HandleEditBox(ARKINV_RulesFrameModifyDataOrder)
|
|
ARKINV_RulesFrameModifyDataDescription:Height(22)
|
|
S:HandleEditBox(ARKINV_RulesFrameModifyDataDescription)
|
|
|
|
ARKINV_RulesFrameModifyDataScrollTextBorder:SetTemplate("Transparent")
|
|
|
|
S:HandleScrollBar(ARKINV_RulesFrameModifyDataScrollScrollBar)
|
|
|
|
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("TOPLEFT", ARKINV_RulesFrameModifyDataScroll, "TOPRIGHT", 8, -13)
|
|
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("BOTTOMLEFT", ARKINV_RulesFrameModifyDataScroll, "BOTTOMRIGHT", 8, 13)
|
|
|
|
S:HandleButton(ARKINV_RulesFrameModifyMenuOk)
|
|
S:HandleButton(ARKINV_RulesFrameModifyMenuCancel)
|
|
end) |