mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
remove temp folder structure
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local M = E:GetModule("Misc");
|
||||
local CH = E:GetModule("Chat");
|
||||
local CC = E:GetModule("ClassCache");
|
||||
|
||||
--Cache global variables
|
||||
--Lua functions
|
||||
local select, unpack, type = select, unpack, type
|
||||
local format, gsub, match, gmatch = string.format, string.gsub, string.match, string.gmatch
|
||||
local strlower = strlower
|
||||
--WoW API / Variables
|
||||
local CreateFrame = CreateFrame
|
||||
|
||||
function M:UpdateBubbleBorder()
|
||||
if not this.text then return end
|
||||
|
||||
if E.private.general.chatBubbles == "backdrop" then
|
||||
if E.PixelMode then
|
||||
this:SetBackdropBorderColor(this.text:GetTextColor())
|
||||
else
|
||||
local r, g, b = this.text:GetTextColor()
|
||||
this.bordertop:SetTexture(r, g, b)
|
||||
this.borderbottom:SetTexture(r, g, b)
|
||||
this.borderleft:SetTexture(r, g, b)
|
||||
this.borderright:SetTexture(r, g, b)
|
||||
end
|
||||
end
|
||||
|
||||
if E.private.chat.enable and E.private.general.classCache and E.private.general.classColorMentionsSpeech then
|
||||
local classColorTable, isFirstWord, rebuiltString, lowerCaseWord, tempWord, wordMatch, classMatch
|
||||
local text = this.text:GetText()
|
||||
if text and match(text, "%s-[^%s]+%s*") then
|
||||
for word in gmatch(text, "%s-[^%s]+%s*") do
|
||||
tempWord = gsub(word, "^[%s%p]-([^%s%p]+)([%-]?[^%s%p]-)[%s%p]*$","%1%2")
|
||||
lowerCaseWord = strlower(tempWord)
|
||||
|
||||
classMatch = CC:GetCacheTable()[E.myrealm][tempWord]
|
||||
wordMatch = classMatch and lowerCaseWord
|
||||
|
||||
if wordMatch and not E.global.chat.classColorMentionExcludedNames[wordMatch] then
|
||||
classColorTable = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[classMatch] or RAID_CLASS_COLORS[classMatch]
|
||||
word = gsub(word, gsub(tempWord, "%-","%%-"), format("\124cff%.2x%.2x%.2x%s\124r", classColorTable.r*255, classColorTable.g*255, classColorTable.b*255, tempWord))
|
||||
end
|
||||
|
||||
if not isFirstWord then
|
||||
rebuiltString = word
|
||||
isFirstWord = true
|
||||
else
|
||||
rebuiltString = format("%s%s", rebuiltString, word)
|
||||
end
|
||||
end
|
||||
|
||||
if rebuiltString ~= nil then
|
||||
this.text:SetText(rebuiltString)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function M:SkinBubble(frame)
|
||||
local mult = E.mult * UIParent:GetScale()
|
||||
for i = 1, frame:GetNumRegions() do
|
||||
local region = select(i, frame:GetRegions())
|
||||
if region:GetObjectType() == "Texture" then
|
||||
region:SetTexture(nil)
|
||||
elseif region:GetObjectType() == "FontString" then
|
||||
frame.text = region
|
||||
end
|
||||
end
|
||||
|
||||
if frame.text then
|
||||
if E.private.general.chatBubbles == "backdrop" then
|
||||
if E.PixelMode then
|
||||
E:SetTemplate(frame, "Transparent", true)
|
||||
frame:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
frame:SetBackdropBorderColor(0, 0, 0)
|
||||
else
|
||||
frame:SetBackdrop(nil)
|
||||
end
|
||||
|
||||
local r, g, b = frame.text:GetTextColor()
|
||||
if not E.PixelMode then
|
||||
if not frame.backdrop then
|
||||
frame.backdrop = frame:CreateTexture(nil, "BACKGROUND")
|
||||
frame.backdrop:SetAllPoints(frame)
|
||||
frame.backdrop:SetTexture(unpack(E.media.backdropfadecolor))
|
||||
|
||||
frame.bordertop = frame:CreateTexture(nil, "OVERLAY")
|
||||
frame.bordertop:SetPoint("TOPLEFT", frame, "TOPLEFT", -mult*2, mult*2)
|
||||
frame.bordertop:SetPoint("TOPRIGHT", frame, "TOPRIGHT", mult*2, mult*2)
|
||||
frame.bordertop:SetHeight(mult)
|
||||
frame.bordertop:SetTexture(r, g, b)
|
||||
|
||||
frame.bordertop.backdrop = frame:CreateTexture(nil, "BORDER")
|
||||
frame.bordertop.backdrop:SetPoint("TOPLEFT", frame.bordertop, "TOPLEFT", -mult, mult)
|
||||
frame.bordertop.backdrop:SetPoint("TOPRIGHT", frame.bordertop, "TOPRIGHT", mult, mult)
|
||||
frame.bordertop.backdrop:SetHeight(mult * 3)
|
||||
frame.bordertop.backdrop:SetTexture(0, 0, 0)
|
||||
|
||||
frame.borderbottom = frame:CreateTexture(nil, "OVERLAY")
|
||||
frame.borderbottom:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", -mult*2, -mult*2)
|
||||
frame.borderbottom:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", mult*2, -mult*2)
|
||||
frame.borderbottom:SetHeight(mult)
|
||||
frame.borderbottom:SetTexture(r, g, b)
|
||||
|
||||
frame.borderbottom.backdrop = frame:CreateTexture(nil, "BORDER")
|
||||
frame.borderbottom.backdrop:SetPoint("BOTTOMLEFT", frame.borderbottom, "BOTTOMLEFT", -mult, -mult)
|
||||
frame.borderbottom.backdrop:SetPoint("BOTTOMRIGHT", frame.borderbottom, "BOTTOMRIGHT", mult, -mult)
|
||||
frame.borderbottom.backdrop:SetHeight(mult * 3)
|
||||
frame.borderbottom.backdrop:SetTexture(0, 0, 0)
|
||||
|
||||
frame.borderleft = frame:CreateTexture(nil, "OVERLAY")
|
||||
frame.borderleft:SetPoint("TOPLEFT", frame, "TOPLEFT", -mult*2, mult*2)
|
||||
frame.borderleft:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", mult*2, -mult*2)
|
||||
frame.borderleft:SetWidth(mult)
|
||||
frame.borderleft:SetTexture(r, g, b)
|
||||
|
||||
frame.borderleft.backdrop = frame:CreateTexture(nil, "BORDER")
|
||||
frame.borderleft.backdrop:SetPoint("TOPLEFT", frame.borderleft, "TOPLEFT", -mult, mult)
|
||||
frame.borderleft.backdrop:SetPoint("BOTTOMLEFT", frame.borderleft, "BOTTOMLEFT", -mult, -mult)
|
||||
frame.borderleft.backdrop:SetWidth(mult * 3)
|
||||
frame.borderleft.backdrop:SetTexture(0, 0, 0)
|
||||
|
||||
frame.borderright = frame:CreateTexture(nil, "OVERLAY")
|
||||
frame.borderright:SetPoint("TOPRIGHT", frame, "TOPRIGHT", mult*2, mult*2)
|
||||
frame.borderright:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -mult*2, -mult*2)
|
||||
frame.borderright:SetWidth(mult)
|
||||
frame.borderright:SetTexture(r, g, b)
|
||||
|
||||
frame.borderright.backdrop = frame:CreateTexture(nil, "BORDER")
|
||||
frame.borderright.backdrop:SetPoint("TOPRIGHT", frame.borderright, "TOPRIGHT", mult, mult)
|
||||
frame.borderright.backdrop:SetPoint("BOTTOMRIGHT", frame.borderright, "BOTTOMRIGHT", mult, -mult)
|
||||
frame.borderright.backdrop:SetWidth(mult * 3)
|
||||
frame.borderright.backdrop:SetTexture(0, 0, 0)
|
||||
end
|
||||
else
|
||||
frame:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
frame:SetBackdropBorderColor(r, g, b)
|
||||
end
|
||||
|
||||
E:FontTemplate(frame.text, E.LSM:Fetch("font", E.private.general.chatBubbleFont), E.private.general.chatBubbleFontSize, E.private.general.chatBubbleFontOutline)
|
||||
elseif E.private.general.chatBubbles == "backdrop_noborder" then
|
||||
frame:SetBackdrop(nil)
|
||||
|
||||
if not frame.backdrop then
|
||||
frame.backdrop = frame:CreateTexture(nil, "ARTWORK")
|
||||
E:SetInside(frame.backdrop, frame, 4, 4)
|
||||
frame.backdrop:SetTexture(unpack(E.media.backdropfadecolor))
|
||||
end
|
||||
E:FontTemplate(frame.text, E.LSM:Fetch("font", E.private.general.chatBubbleFont), E.private.general.chatBubbleFontSize, E.private.general.chatBubbleFontOutline)
|
||||
|
||||
frame:SetClampedToScreen(false)
|
||||
elseif E.private.general.chatBubbles == "nobackdrop" then
|
||||
frame:SetBackdrop(nil)
|
||||
E:FontTemplate(frame.text, E.LSM:Fetch("font", E.private.general.chatBubbleFont), E.private.general.chatBubbleFontSize, E.private.general.chatBubbleFontOutline)
|
||||
frame:SetClampedToScreen(false)
|
||||
end
|
||||
end
|
||||
|
||||
HookScript(frame, "OnShow", M.UpdateBubbleBorder)
|
||||
frame:SetFrameStrata("DIALOG")
|
||||
M.UpdateBubbleBorder(frame)
|
||||
frame.isBubblePowered = true
|
||||
end
|
||||
|
||||
function M:IsChatBubble(frame)
|
||||
for i = 1, frame:GetNumRegions() do
|
||||
local region = select(i, frame:GetRegions())
|
||||
if region.GetTexture and region:GetTexture() and type(region:GetTexture() == "string" and strlower(region:GetTexture()) == [[interface\tooltips\chatbubble-background]]) then return true end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local numChildren = 0
|
||||
function M:LoadChatBubbles()
|
||||
if E.private.general.bubbles == false then
|
||||
E.private.general.chatBubbles = "disabled"
|
||||
E.private.general.bubbles = nil
|
||||
end
|
||||
|
||||
if E.private.general.chatBubbles == "disabled" then return end
|
||||
|
||||
local frame = CreateFrame("Frame")
|
||||
frame.lastupdate = -2
|
||||
|
||||
frame:SetScript("OnUpdate", function()
|
||||
this.lastupdate = this.lastupdate + arg1
|
||||
if this.lastupdate < .1 then return end
|
||||
this.lastupdate = 0
|
||||
|
||||
local count = WorldFrame:GetNumChildren()
|
||||
if count ~= numChildren then
|
||||
for i = numChildren + 1, count do
|
||||
local frame = select(i, WorldFrame:GetChildren())
|
||||
|
||||
if frame.GetObjectType and frame:GetObjectType() == "Frame" and M:IsChatBubble(frame) then
|
||||
M:SkinBubble(frame)
|
||||
end
|
||||
end
|
||||
numChildren = count
|
||||
end
|
||||
end)
|
||||
end
|
||||
Reference in New Issue
Block a user