ESOUI SVN EsoHeadMarkers

[/] [trunk/] [EsoheadMarkers/] [EsoheadDebug.lua] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 Shinni-694
local function EHMDebug(str)
2 Shinni-694
        input = tonumber(str)
3 Shinni-694
        if input == 1 then
4 Shinni-694
                d("Debugmode activated!")
5 Shinni-694
                d("Click on a Skyshard to set it as (un-)collected.")
6 Shinni-694
        elseif input == 0 then
7 Shinni-694
                d("Debugmode deactivated!")
8 Shinni-694
        else
9 Shinni-694
                d("/debugskyshard [state]")
10 Shinni-694
                d("state should be 1 for on and 0 for off")
11 Shinni-694
        end
12 Shinni-694
        EHM.debug = (input == 1)
13 Shinni-694
end
14 Shinni-694
 
15 Shinni-694
local function EHMUncollect( zone, x, y)
16 Shinni-694
        local foundShards = EHM.foundShards.zones[ zone ]
17 Shinni-694
        local minFound
18 Shinni-694
        local minDist = math.huge
19 Shinni-694
 
20 Shinni-694
        if not foundShards then
21 Shinni-694
                return true
22 Shinni-694
        end
23 Shinni-694
 
24 Shinni-694
        --get closest already collected shard
25 Shinni-694
        for id, shard in pairs( foundShards ) do
26 Shinni-694
                if zo_abs(shard[1] - x) + zo_abs(shard[2] - y) < minDist then
27 Shinni-694
                        minFound = id
28 Shinni-694
                        minDist = zo_abs(shard[1] - x) + zo_abs(shard[2] - y)
29 Shinni-694
                end
30 Shinni-694
        end
31 Shinni-694
 
32 Shinni-694
        if not minFound then
33 Shinni-694
                return
34 Shinni-694
        end
35 Shinni-694
        foundShards[minFound] = nil
36 Shinni-694
end
37 Shinni-694
 
38 Shinni-694
function EHMInitializeDebug()
39 Shinni-694
        ZO_MapPin.PIN_CLICK_HANDLERS[1][_G["skyshard"]] = {
40 Shinni-694
                {
41 Shinni-694
                        callback = function(pin)
42 Shinni-694
                                if not EHM.debug then
43 Shinni-694
                                        return
44 Shinni-694
                                end
45 Shinni-694
                                d("Marked Skyshard on:")
46 Shinni-694
                                d(GetMapName() .. " x:" .. tostring(pin.normalizedX) .. " y:" .. tostring(pin.normalizedY))
47 Shinni-694
                                d("as discovered")
48 Shinni-694
                                EHMFindShard(GetMapName(), pin.normalizedX, pin.normalizedY)
49 Shinni-694
                                EHM.MapPins:RefreshPins()
50 Shinni-694
                        end
51 Shinni-694
                }
52 Shinni-694
        }
53 Shinni-694
 
54 Shinni-694
        ZO_MapPin.PIN_CLICK_HANDLERS[1][_G["found_skyshard"]] = {
55 Shinni-694
                {
56 Shinni-694
                        callback = function(pin)
57 Shinni-694
                                if not EHM.debug then
58 Shinni-694
                                        return
59 Shinni-694
                                end
60 Shinni-694
                                local zone = GetMapName()
61 Shinni-694
                                d("Marked Skyshard on:")
62 Shinni-694
                                d(zone .. " x:" .. tostring(pin.normalizedX) .. " y:" .. tostring(pin.normalizedY))
63 Shinni-694
                                d("as uncollected")
64 Shinni-694
 
65 Shinni-694
                                while (not EHMNotFound( zone, pin.normalizedX, pin.normalizedY) ) do
66 Shinni-694
                                        EHMUncollect(zone, pin.normalizedX, pin.normalizedY)
67 Shinni-694
                                end
68 Shinni-694
                                EHM.MapPins:RefreshPins()
69 Shinni-694
                        end
70 Shinni-694
                }
71 Shinni-694
        }
72 Shinni-694
        EHM.debug = false
73 Shinni-694
        SLASH_COMMANDS["/debugskyshard"] = EHMDebug
74 Shinni-694
end