You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
|
|
local DT = E.DataTexts
|
|
local RC = E.Libs.RangeCheck
|
|
|
|
local UnitName = UnitName
|
|
local SPELL_FAILED_BAD_IMPLICIT_TARGETS = SPELL_FAILED_BAD_IMPLICIT_TARGETS
|
|
|
|
local displayString = ''
|
|
local curMin, curMax
|
|
local int = 1
|
|
local updateTargetRange = false
|
|
local forceUpdate = false
|
|
|
|
local function OnUpdate(self, t)
|
|
if not updateTargetRange then return end
|
|
|
|
int = int - t
|
|
if int > 0 then return end
|
|
int = .25
|
|
|
|
local min, max = RC: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["Range"], min, max)
|
|
else
|
|
self.text:SetText(SPELL_FAILED_BAD_IMPLICIT_TARGETS)
|
|
end
|
|
forceUpdate = false
|
|
end
|
|
|
|
local function OnEvent(self)
|
|
updateTargetRange = UnitName("target") ~= nil
|
|
int = 0
|
|
if updateTargetRange then
|
|
forceUpdate = true
|
|
else
|
|
self.text:SetText(SPELL_FAILED_BAD_IMPLICIT_TARGETS)
|
|
end
|
|
end
|
|
|
|
local function ValueColorUpdate(self, hex)
|
|
displayString = strjoin('', '%s: ', hex, '%d|r-', hex, '%d|r')
|
|
OnEvent(self)
|
|
end
|
|
|
|
DT:RegisterDatatext('S&L Target Range', 'S&L', {'PLAYER_TARGET_CHANGED'}, OnEvent, OnUpdate, nil, nil, nil, nil, nil, ValueColorUpdate)
|
|
|