Files
coa-elvui/ElvUI_Enhanced/Modules/Datatexts/Range.lua
T
Andrew6810 8ad40722a0 Fixes Enhanced character frame
Update nameplate coloring.
Fix world map blips
2022-10-30 16:41:03 -07:00

60 lines
1.3 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local DT = E:GetModule("DataTexts")
local EE = E:GetModule("ElvUI_Enhanced")
local LRC = LibStub("LibRangeCheck-2.0")
local join = string.join
local UnitName = UnitName
local int = 1
local updateTargetRange = false
local forceUpdate = false
local displayString = ""
local curMin, curMax
local lastPanel
local function OnUpdate(self, t)
if not updateTargetRange then return end
int = int - t
if int > 0 then return end
int = 0.25
local min, max = LRC:GetRange("target");
if not forceUpdate and (min == curMin and max == curMax) then return end
curMin = min
curMax = max
if min and max then
self.text:SetFormattedText(displayString, L["Distance"], min, max)
else
self.text:SetText("")
end
forceUpdate = false
lastPanel = self
end
local function OnEvent(self)
updateTargetRange = UnitName("target") ~= nil
int = 0
if updateTargetRange then
forceUpdate = true
else
self.text:SetText("")
end
end
local function ValueColorUpdate(hex)
displayString = join("", "%s: ", hex, "%d|r - ", hex, "%d|r")
if lastPanel ~= nil then
OnEvent(lastPanel)
end
end
E.valueColorUpdateFuncs[ValueColorUpdate] = true
DT:RegisterDatatext("Target Range", {"PLAYER_TARGET_CHANGED"}, OnEvent, OnUpdate, nil, nil, nil, EE:ColorizeSettingName(L["Target Range"]))