BORDER ADDON ------------------------------------------------------------------------------------------
function CreateBorderLight(self, borderSize, R, G, B, ...)
local uL1, uL2, uR1, uR2, bL1, bL2, bR1, bR2 = ...
if (uL1) then
if (not uL2 and not uR1 and not uR2 and not bL1 and not bL2 and not bR1 and not bR2) then
uL2, uR1, uR2, bL1, bL2, bR1, bR2 = uL1, uL1, uL1, uL1, uL1, uL1, uL1
end
end
if (not self.HasBorder) then
self.Border = {}
for i = 1, 8 do
self.Border[i] = self:CreateTexture(nil, "OVERLAY")
self.Border[i]:SetParent(self)
self.Border[i]:SetTexture(AftermathhUI.media.borderlight)
self.Border[i]:SetSize(borderSize,borderSize)
self.Border[i]:SetVertexColor(R, G, B)
end
self.Border[1]:SetTexCoord(0, 1/3, 0, 1/3)
self.Border[1]:SetPoint("TOPLEFT", self, -(uL1 or 0), uL2 or 0)
self.Border[2]:SetTexCoord(2/3, 1, 0, 1/3)
self.Border[2]:SetPoint("TOPRIGHT", self, uR1 or 0, uR2 or 0)
self.Border[3]:SetTexCoord(0, 1/3, 2/3, 1)
self.Border[3]:SetPoint("BOTTOMLEFT", self, -(bL1 or 0), -(bL2 or 0))
self.Border[4]:SetTexCoord(2/3, 1, 2/3, 1)
self.Border[4]:SetPoint("BOTTOMRIGHT", self, bR1 or 0, -(bR2 or 0))
self.Border[5]:SetTexCoord(1/3, 2/3, 0, 1/3)
self.Border[5]:SetPoint("TOPLEFT", self.Border[1], "TOPRIGHT")
self.Border[5]:SetPoint("TOPRIGHT", self.Border[2], "TOPLEFT")
self.Border[6]:SetTexCoord(1/3, 2/3, 2/3, 1)
self.Border[6]:SetPoint("BOTTOMLEFT", self.Border[3], "BOTTOMRIGHT")
self.Border[6]:SetPoint("BOTTOMRIGHT", self.Border[4], "BOTTOMLEFT")
self.Border[7]:SetTexCoord(0, 1/3, 1/3, 2/3)
self.Border[7]:SetPoint("TOPLEFT", self.Border[1], "BOTTOMLEFT")
self.Border[7]:SetPoint("BOTTOMLEFT", self.Border[3], "TOPLEFT")
self.Border[8]:SetTexCoord(2/3, 1, 1/3, 2/3)
self.Border[8]:SetPoint("TOPRIGHT", self.Border[2], "BOTTOMRIGHT")
self.Border[8]:SetPoint("BOTTOMRIGHT", self.Border[4], "TOPRIGHT")
local space
if (borderSize >= 10) then
space = 3
else
space = borderSize/3.5
end
self.Shadow = {}
for i = 1, 8 do
self.Shadow[i] = self:CreateTexture(nil, "BORDER")
self.Shadow[i]:SetParent(self)
self.Shadow[i]:SetTexture(AftermathhUI.media.shadow)
self.Shadow[i]:SetSize(borderSize, borderSize)
self.Shadow[i]:SetVertexColor(0, 0, 0, 1)
end
self.Shadow[1]:SetTexCoord(0, 1/3, 0, 1/3)
self.Shadow[1]:SetPoint("TOPLEFT", self, -(uL1 or 0)-space, (uL2 or 0)+space)
self.Shadow[2]:SetTexCoord(2/3, 1, 0, 1/3)
self.Shadow[2]:SetPoint("TOPRIGHT", self, (uR1 or 0)+space, (uR2 or 0)+space)
self.Shadow[3]:SetTexCoord(0, 1/3, 2/3, 1)
self.Shadow[3]:SetPoint("BOTTOMLEFT", self, -(bL1 or 0)-space, -(bL2 or 0)-space)
self.Shadow[4]:SetTexCoord(2/3, 1, 2/3, 1)
self.Shadow[4]:SetPoint("BOTTOMRIGHT", self, (bR1 or 0)+space, -(bR2 or 0)-space)
self.Shadow[5]:SetTexCoord(1/3, 2/3, 0, 1/3)
self.Shadow[5]:SetPoint("TOPLEFT", self.Shadow[1], "TOPRIGHT")
self.Shadow[5]:SetPoint("TOPRIGHT", self.Shadow[2], "TOPLEFT")
self.Shadow[6]:SetTexCoord(1/3, 2/3, 2/3, 1)
self.Shadow[6]:SetPoint("BOTTOMLEFT", self.Shadow[3], "BOTTOMRIGHT")
self.Shadow[6]:SetPoint("BOTTOMRIGHT", self.Shadow[4], "BOTTOMLEFT")
self.Shadow[7]:SetTexCoord(0, 1/3, 1/3, 2/3)
self.Shadow[7]:SetPoint("TOPLEFT", self.Shadow[1], "BOTTOMLEFT")
self.Shadow[7]:SetPoint("BOTTOMLEFT", self.Shadow[3], "TOPLEFT")
self.Shadow[8]:SetTexCoord(2/3, 1, 1/3, 2/3)
self.Shadow[8]:SetPoint("TOPRIGHT", self.Shadow[2], "BOTTOMRIGHT")
self.Shadow[8]:SetPoint("BOTTOMRIGHT", self.Shadow[4], "TOPRIGHT")
self.HasBorder = true
end
end
function SetBorderLayer(self, layer)
if (self.Border) then
for i = 1, 8 do
self.Border[i]:SetDrawLayer(layer)
end
end
end
function SetTexture(self, texture)
if (self.Border) then
for i = 1, 8 do
self.Border[i]:SetTexture(texture)
end
end
end
function SetColorShadow(self, R, G, B, A)
if (self.Border) then
for i = 1, 8 do
self.Shadow[i]:SetVertexColor(R, G, B, A)
end
end
end
function ColorBorder(self, R, G, B)
if (self.Border) then
for i = 1, 8 do
self.Border[i]:SetVertexColor(R, G, B)
end
end
end
BAG ADDON ---------------------------------------------------------------
local _G = _G -- import globals for faster usage
for i = 1, 12 do
local AContainerFrameCloseButton = _G["ContainerFrame"..i.."CloseButton"]
AContainerFrameCloseButton:SetAlpha(0)
for p = 1, 7 do
local AContainerFrame = _G["ContainerFrame"..i]
select(p, AContainerFrame:GetRegions()):SetAlpha(0)
end
end
local AContainerFrameBackPack = CreateFrame("Frame", nil, _G["ContainerFrame1"])
AContainerFrameBackPack:SetPoint("TOPLEFT", 8, -9)
AContainerFrameBackPack:SetPoint("BOTTOMRIGHT", -4, 3)
AContainerFrameBackPack:SetFrameStrata("HIGH")
AContainerFrameBackPack:SetFrameLevel(4)
AContainerFrameBackPack:SetBackdrop({
bgFile = AftermathhUI.media.blank,
insets = {top = -1, left = 1, bottom = 1, right = 1},
})
AContainerFrameBackPack:SetBackdropColor(unpack(AftermathhUI.media.backdropcolor))
CreateBorderLight(AContainerFrameBackPack, AftermathhUI.media.bordersize, AftermathhUI.bordercolor, AftermathhUI.bordercolor, AftermathhUI.bordercolor, 1, 1, 1, 1, 1, 1, 1, 1)
local AContainerFrameBagsRest = {"ContainerFrame2", "ContainerFrame3", "ContainerFrame4", "ContainerFrame5", "ContainerFrame6", "ContainerFrame7", "ContainerFrame8", "ContainerFrame9", "ContainerFrame10", "ContainerFrame11", "ContainerFrame12" }
for i = 1, getn(AContainerFrameBagsRest) do
local AContainerFrameBags = CreateFrame("Frame", nil, _G[AContainerFrameBagsRest[i]])
AContainerFrameBags:SetPoint("TOPLEFT", 8, -4)
AContainerFrameBags:SetPoint("BOTTOMRIGHT", -4, 3)
AContainerFrameBags:SetFrameStrata("HIGH")
AContainerFrameBags:SetFrameLevel(4)
AContainerFrameBags:SetBackdrop({
bgFile = AftermathhUI.media.blank,
insets = {top = -1, left = 1, bottom = 1, right = 1},
})
AContainerFrameBags:SetBackdropColor(unpack(AftermathhUI.media.backdropcolor))
CreateBorderLight(AContainerFrameBags, AftermathhUI.media.bordersize, AftermathhUI.bordercolor, AftermathhUI.bordercolor, AftermathhUI.bordercolor, 1, 1, 1, 1, 1, 2, 1, 2)
end
hooksecurefunc("ContainerFrame_GenerateFrame", function(frame)
local name = frame:GetName();
for i = 1, MAX_CONTAINER_ITEMS do
local AContainerItems = _G[name.."Item"..i]
AContainerItems:SetNormalTexture("")
AContainerItems:SetFrameStrata("HIGH")
AContainerItems:SetFrameLevel(5)
AContainerItems:SetBackdrop({
bgFile = AftermathhUI.media.backdrop,
insets = {top = -1, left = -1, bottom = -1, right = -1},
})
--local AContainerIcon = _G[name.."Item"..i].icon
--AContainerIcon:SetTexCoord(.08, .92, .08, .92)
local AContainerIconBorder = _G[name.."Item"..i].IconBorder
AContainerIconBorder:SetAlpha(0)
AContainerIconBorder:SetSize(0,0)
local AContainerItemsIconQuest = _G[name.."Item"..i.."IconQuestTexture"]
AContainerItemsIconQuest:SetAlpha(0)
local AContainerItemsCount = _G[name.."Item"..i.."Count"]
AContainerItemsCount:SetPoint("BOTTOMRIGHT", -3, 3)
end
end)
for _, frame in pairs({
_G["ContainerFrame1MoneyFrameGoldButton"],_G["ContainerFrame1MoneyFrameSilverButton"],_G["ContainerFrame1MoneyFrameCopperButton"],_G["BankFrameMoneyFrameGoldButton"],_G["BankFrameMoneyFrameSilverButton"],_G["BankFrameMoneyFrameCopperButton"],
}) do
frame:SetFrameStrata("HIGH")
frame:SetFrameLevel(5)
end
for i = 1, 3 do
local ABackpackTokenFrameToken = _G["BackpackTokenFrameToken"..i]
ABackpackTokenFrameToken:SetFrameStrata("HIGH")
ABackpackTokenFrameToken:SetFrameLevel(5)
local ABackpackTokenFrameTokenIcon = _G["BackpackTokenFrameToken"..i.."Icon"]
ABackpackTokenFrameTokenIcon:SetTexCoord(.08, .92, .08, .92)
end
_G["BackpackTokenFrame"]:GetRegions():SetAlpha(0)
_G["BagItemAutoSortButton"]:SetAlpha(0)
local function UpdateGlow(button, id)
local quality, texture, _
if(id) then
quality, _, _, _, _, _, _, texture = select(3, GetItemInfo(id))
end
local AGlow = button.glow
if(not AGlow) then
AGlow = CreateFrame("Frame", nil, button)
AGlow:SetPoint("TOPLEFT", button, "TOPLEFT")
AGlow:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT")
button.glow = AGlow
end
CreateBorderLight(AGlow, AftermathhUI.media.bordersize, AftermathhUI.bordercolor, AftermathhUI.bordercolor, AftermathhUI.bordercolor, 1) -- what causes the freeze
if(texture) then
local r, g, b = GetItemQualityColor(quality)
local AContainerIconQuest = _G[button:GetName().."IconQuestTexture"]
if AContainerIconQuest and AContainerIconQuest:IsShown() then
r, g, b = unpack(AftermathhUI.loot.questitemcolor)
end
ColorBorder(AGlow, r, g, b)
else
ColorBorder(AGlow, AftermathhUI.bordercolor, AftermathhUI.bordercolor, AftermathhUI.bordercolor)
end
end
hooksecurefunc("ContainerFrame_Update", function(self)
for i = 1, self.size do
local AContainerItemGlow = _G[self:GetName().."Item"..i]
UpdateGlow(AContainerItemGlow, GetContainerItemID(self:GetID(), AContainerItemGlow:GetID()))
end
local ABagItemSearchBox = _G["BagItemSearchBox"]
ABagItemSearchBox:ClearAllPoints()
ABagItemSearchBox:SetWidth(165)
ABagItemSearchBox:SetHeight(22)
ABagItemSearchBox:SetPoint("TOPLEFT", _G["ContainerFrame1"], "BOTTOMLEFT", 18, 240)
ABagItemSearchBox:SetFrameLevel(5)
ABagItemSearchBox:SetFrameStrata("HIGH")
ABagItemSearchBox:SetBackdrop({
bgFile = AftermathhUI.media.blank,
insets = {top = -1, left = -6, bottom = -1, right = -1},
})
ABagItemSearchBox:SetBackdropColor(.21, .21, .21, 0.7)
CreateBorderLight(ABagItemSearchBox, AftermathhUI.media.bordersize, AftermathhUI.bordercolor, AftermathhUI.bordercolor, AftermathhUI.bordercolor, 6, 1, 1, 1, 6, 1, 1, 1)
ABagItemSearchBox.Left:SetAlpha(0)
ABagItemSearchBox.Middle:SetAlpha(0)
ABagItemSearchBox.Right:SetAlpha(0)
end)