diff --git a/core.lua b/core.lua index a4b2d75..7dd1106 100644 --- a/core.lua +++ b/core.lua @@ -90,9 +90,9 @@ function child:ZoneEvent() end child['zoneText'] = limitLength(zoneText, db['maxLength']) if(not db['hideMapCoords']) then - addon['mapframe']:Show() + child['mapframe']:Show() else - addon['mapframe']:Hide() + child['mapframe']:Hide() end OnDataUpdate() end diff --git a/provider.lua b/provider.lua index 75f3ff8..ac34492 100755 --- a/provider.lua +++ b/provider.lua @@ -1,29 +1,27 @@ -local name, addon = ... -local childName = "zz_Coords" - +local addonName, addon = ... +local childName = addon['childName'] +local child = addon[childName] +local db local zzDataProvider = {}; local coordText,db,mapframe function zzDataProvider:GetMap() return self.owningMap; end -function addon:GetXY() +function child:GetXY() local x, y = WorldMapFrame.ScrollContainer:GetNormalizedCursorPosition(); local adjustedX = x * 100 local adjustedY = y * 100 return adjustedX,adjustedY end local function update() - if(not addon['db']['profile'][childName]) then return end - if(not db) then - db = addon['db']['profile'][childName] - end + if(not db) then return end if(coordText) then db['screenX'] = db['screenX'] or 10 db['screenY'] = db['screenY'] or 5 db['windowX'] = db['windowX'] or 10 db['windowY'] = db['windowY'] or 5 - local x,y = addon:GetXY() + local x,y = child:GetXY() local str = "" local mapID = zzDataProvider:GetMap():GetMapID() if(mapID and db['ShowMapID']) then @@ -85,7 +83,7 @@ function zzDataProvider:OnAdded(owningMap) self.elapsed = 0 update() end) - addon['mapframe'] = mapframe + child['mapframe'] = mapframe end end @@ -172,4 +170,10 @@ if(type(WorldMapFrame.AddDataProvider) == 'function') then WorldMapFrame:AddDataProvider(zzDataProvider) else zzDataProvider:OnAdded() -end \ No newline at end of file +end +local init = { + Setup = function(self) + db = child['db'] + end +} +addon.RegisterCallback(init, format("Init%s", childName), 'Setup') \ No newline at end of file