ESOUI SVN EsoHeadMarkers

[/] [trunk/] [EsoheadMarkers/] [EsoheadDebug.lua] - Rev 5

Compare with Previous | Blame | View Log

local function EHMDebug(str)
        input = tonumber(str)
        if input == 1 then
                d("Debugmode activated!")
                d("Click on a Skyshard to set it as (un-)collected.")
        elseif input == 0 then
                d("Debugmode deactivated!")
        else
                d("/debugskyshard [state]")
                d("state should be 1 for on and 0 for off")
        end
        EHM.debug = (input == 1)
end

local function EHMUncollect( zone, x, y)
        local foundShards = EHM.foundShards.zones[ zone ]
        local minFound
        local minDist = math.huge
        
        if not foundShards then
                return true
        end
        
        --get closest already collected shard
        for id, shard in pairs( foundShards ) do
                if zo_abs(shard[1] - x) + zo_abs(shard[2] - y) < minDist then
                        minFound = id
                        minDist = zo_abs(shard[1] - x) + zo_abs(shard[2] - y)
                end
        end
        
        if not minFound then
                return
        end
        foundShards[minFound] = nil
end

function EHMInitializeDebug()
        ZO_MapPin.PIN_CLICK_HANDLERS[1][_G["skyshard"]] = {
                {                       
                        callback = function(pin)
                                if not EHM.debug then
                                        return
                                end
                                d("Marked Skyshard on:")
                                d(GetMapName() .. " x:" .. tostring(pin.normalizedX) .. " y:" .. tostring(pin.normalizedY))
                                d("as discovered")
                                EHMFindShard(GetMapName(), pin.normalizedX, pin.normalizedY)
                                EHM.MapPins:RefreshPins()
                        end
                }
        }
        
        ZO_MapPin.PIN_CLICK_HANDLERS[1][_G["found_skyshard"]] = {
                {                       
                        callback = function(pin)
                                if not EHM.debug then
                                        return
                                end
                                local zone = GetMapName()
                                d("Marked Skyshard on:")
                                d(zone .. " x:" .. tostring(pin.normalizedX) .. " y:" .. tostring(pin.normalizedY))
                                d("as uncollected")
                                
                                while (not EHMNotFound( zone, pin.normalizedX, pin.normalizedY) ) do
                                        EHMUncollect(zone, pin.normalizedX, pin.normalizedY)
                                end
                                EHM.MapPins:RefreshPins()
                        end
                }
        }
        EHM.debug = false
        SLASH_COMMANDS["/debugskyshard"] = EHMDebug
end

Compare with Previous | Blame