ESOUI SVN EsoHeadMarkers

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 Shinni-694
local function EHMHarvestCallback( materialId, g_mapPinManager )
2 Shinni-694
        if not (ZO_WorldMap_IsPinGroupShown(EHM.material[materialId].pinType) and EHM.compass) then
3 Shinni-694
                return
4 Shinni-694
        end
5 Shinni-694
        local zone = GetMapName()
6 Shinni-694
        local harvestNodes = EH.savedVars["harvest"].data[zone]
7 Shinni-694
        if not harvestNodes then
8 Shinni-694
                return
9 Shinni-694
        end
10 Shinni-694
        harvestNodes = harvestNodes[materialId]
11 Shinni-694
        if harvestNodes then
12 Shinni-694
                for _, node in pairs(harvestNodes) do
13 Shinni-694
                        g_mapPinManager:CreatePin( EHM.material[materialId].pinType, node[1], node[2] )
14 Shinni-694
                end
15 Shinni-694
        end
16 Shinni-694
end
17 Shinni-694
 
18 Shinni-694
local function EHMSkyshard( pinManager )
19 Shinni-694
        if not (ZO_WorldMap_IsPinGroupShown("skyshard") and EHM.compass) then
20 Shinni-694
                return
21 Shinni-694
        end
22 Shinni-694
        local zone = GetMapName()
23 Shinni-694
        local skyshards = EHMShards[ zone ]
24 Shinni-694
        if not skyshards then
25 Shinni-694
                return
26 Shinni-694
        end
27 Shinni-694
 
28 Shinni-694
        for _,shard in pairs(skyshards) do
29 Shinni-694
                if not EHMNotFound(zone, shard[1], shard[2]) then
30 Shinni-694
                        pinManager:CreatePin( "skyshard", shard[1], shard[2] )
31 Shinni-694
                end
32 Shinni-694
        end
33 Shinni-694
end
34 Shinni-694
 
35 Shinni-694
local function EHMChestCallback( g_mapPinManager )
36 Shinni-694
        if not (ZO_WorldMap_IsPinGroupShown("chest") and EHM.compass) then
37 Shinni-694
                return
38 Shinni-694
        end
39 Shinni-694
        local zone = GetMapName()
40 Shinni-694
        local chests = EH.savedVars["chest"].data[zone]
41 Shinni-694
        if not chests then
42 Shinni-694
                return
43 Shinni-694
        end
44 Shinni-694
        for _,chest in pairs(chests) do
45 Shinni-694
                g_mapPinManager:CreatePin( "chest", chest[1], chest[2] )
46 Shinni-694
        end
47 Shinni-694
 
48 Shinni-694
end
49 Shinni-694
 
50 Shinni-694
local function EHMCompass(str)
51 Shinni-694
        input = tonumber(str)
52 Shinni-694
        if input == 1 then
53 Shinni-694
                d("Compass activated!")
54 Shinni-694
        elseif input == 0 then
55 Shinni-694
                d("Compass deactivated!")
56 Shinni-694
        else
57 Shinni-694
                d("/compass [state]")
58 Shinni-694
                d("state should be 1 for on and 0 for off")
59 Shinni-694
        end
60 Shinni-694
        EHM.compass = (input == 1)
61 Shinni-694
        COMPASS_PINS:RefreshPins()
62 Shinni-694
end
63 Shinni-694
 
64 Shinni-694
function EHMInitializeCompass()
65 Shinni-694
 
66 Shinni-694
        for id, material in pairs( EHM.material ) do
67 Shinni-694
                if id ~= 5 then --not sure how to handle provision
68 Shinni-694
                        local i = id
69 Shinni-694
                        COMPASS_PINS:AddCustomPin( material.pinType,
70 Shinni-694
                                function(g_mapPinManager)
71 Shinni-694
                                EHMHarvestCallback( i, g_mapPinManager )
72 Shinni-694
                                end,
73 Shinni-694
                                EHM.layouts[material.pinType]
74 Shinni-694
                        )
75 Shinni-694
                end
76 Shinni-694
        end
77 Shinni-694
 
78 Shinni-694
        COMPASS_PINS:AddCustomPin("skyshard", EHMSkyshard, EHM.layouts["skyshard"])
79 Shinni-694
        COMPASS_PINS:AddCustomPin("chest", EHMChestCallback, EHM.layouts["chest"])
80 Shinni-694
        COMPASS_PINS:RefreshPins()
81 Shinni-694
        SLASH_COMMANDS["/compass"] = EHMCompass
82 Shinni-694
end