initial commit
This commit is contained in:
43
Modules/DataTexts/Coordinates.lua
Normal file
43
Modules/DataTexts/Coordinates.lua
Normal file
@@ -0,0 +1,43 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local DT = E:GetModule('DataTexts')
|
||||
|
||||
local _G = _G
|
||||
local strjoin = strjoin
|
||||
local InCombatLockdown = InCombatLockdown
|
||||
|
||||
local displayString = ''
|
||||
local inRestrictedArea = false
|
||||
local mapInfo = E.MapInfo
|
||||
|
||||
local function Update(self, elapsed)
|
||||
if inRestrictedArea or not mapInfo.coordsWatching then return end
|
||||
|
||||
self.timeSinceUpdate = (self.timeSinceUpdate or 0) + elapsed
|
||||
|
||||
if self.timeSinceUpdate > 0.1 then
|
||||
self.text:SetFormattedText(displayString, mapInfo.xText or 0, mapInfo.yText or 0)
|
||||
self.timeSinceUpdate = 0
|
||||
end
|
||||
end
|
||||
|
||||
local function OnEvent(self)
|
||||
if mapInfo.x and mapInfo.y then
|
||||
inRestrictedArea = false
|
||||
self.text:SetFormattedText(displayString, mapInfo.xText or 0, mapInfo.yText or 0)
|
||||
else
|
||||
inRestrictedArea = true
|
||||
self.text:SetText('N/A')
|
||||
end
|
||||
end
|
||||
|
||||
local function Click()
|
||||
if InCombatLockdown() then _G.UIErrorsFrame:AddMessage(E.InfoColor.._G.ERR_NOT_IN_COMBAT) return end
|
||||
_G.ToggleFrame(_G.WorldMapFrame)
|
||||
end
|
||||
|
||||
local function ValueColorUpdate(hex)
|
||||
displayString = strjoin('', hex, '%.2f|r', ' | ', hex, '%.2f|r')
|
||||
end
|
||||
E.valueColorUpdateFuncs[ValueColorUpdate] = true
|
||||
|
||||
DT:RegisterDatatext('Coords', nil, {'LOADING_SCREEN_DISABLED', 'ZONE_CHANGED', 'ZONE_CHANGED_INDOORS', 'ZONE_CHANGED_NEW_AREA'}, OnEvent, Update, Click, nil, nil, L["Coords"], mapInfo, ValueColorUpdate)
|
||||
Reference in New Issue
Block a user