8ad40722a0
Update nameplate coloring. Fix world map blips
60 lines
1.3 KiB
Lua
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"])) |