-- EsoPL Module: MapFontFix
-- Monitoruje i podmienia czcionki map co 500ms

local EsoPL = EsoPL or {}
if not EsoPL.modules then EsoPL.modules = {} end
EsoPL.modules.MapFontFix = {}

local MapFontFix = EsoPL.modules.MapFontFix
local isRunning = false

function MapFontFix:Initialize()
    isRunning = true
    zo_callLater(function() self:FixMapFonts() end, 1000)
end

function MapFontFix:FixMapFonts()
    if not isRunning then return end
    
    for i=1,150 do 
        local control = _G["ZO_WorldMapContainerBlobName"..i]
        if control then 
            local font = control:GetFont()
            if font:find("Handwritten") then
                control:SetFont("EsoPL/fonts/handwritten_bold.slug|34")
            end
        end 
    end
    
    -- Kontynuuj sprawdzanie co 500ms
    zo_callLater(function() self:FixMapFonts() end, 500)
end

-- Automatyczna inicjalizacja gdy EsoPL się załaduje
local function OnAddonLoaded(event, addonName)
    if addonName ~= "EsoPL" then return end
    EVENT_MANAGER:UnregisterForEvent("EsoPL_MapFontFix", EVENT_ADD_ON_LOADED)
    MapFontFix:Initialize()
end

EVENT_MANAGER:RegisterForEvent("EsoPL_MapFontFix", EVENT_ADD_ON_LOADED, OnAddonLoaded)