Details | Compare with Previous | View Log
Line No. | Rev | Author | Line |
---|---|---|---|
1 | 5 | Shinni-694 | local oldGetString = GetString |
2 | Shinni-694 | local oldVars = WORLD_MAP_FILTERS.SetSavedVars |
|
3 | Shinni-694 | local oldPVEPinSet |
|
4 | Shinni-694 | local oldPVPPinSet |
|
5 | Shinni-694 | local EsoheadMarkersFilters = { ["mining"] = "Ore", |
|
6 | Shinni-694 | ["clothing"] = "Clothing Material", |
|
7 | Shinni-694 | ["rune"] = "Runestone", |
|
8 | Shinni-694 | ["alchemy"] = "Alchemy Ingredient", |
|
9 | Shinni-694 | ["wood"] = "Wood", |
|
10 | Shinni-694 | ["chest"] = "Chest", |
|
11 | Shinni-694 | ["skyshard"] = "Uncollected Skyshards", |
|
12 | Shinni-694 | ["found_skyshard"] = "Collected Skyshards", |
|
13 | Shinni-694 | ["r"] = "Red", |
|
14 | Shinni-694 | ["g"] = "Green", |
|
15 | Shinni-694 | ["b"] = "Blue", |
|
16 | Shinni-694 | ["w"] = "White"} |
|
17 | Shinni-694 | local order = {"skyshard","found_skyshard","chest","mining","clothing","rune","alchemy","wood"} |
|
18 | Shinni-694 | ||
19 | Shinni-694 | -- the filter checkboxes display the localization string, retrieved by this function |
|
20 | Shinni-694 | -- since there is no API to the filters, I had to hack a bit, to display my own strings :) |
|
21 | Shinni-694 | function GetString( stringVariablePrefix, contextId ) |
|
22 | Shinni-694 | if stringVariablePrefix == "SI_MAPFILTER" and EsoheadMarkersFilters[contextId] then |
|
23 | Shinni-694 | return EsoheadMarkersFilters[contextId] |
|
24 | Shinni-694 | else |
|
25 | Shinni-694 | return oldGetString( stringVariablePrefix, contextId ) |
|
26 | Shinni-694 | end |
|
27 | Shinni-694 | end |
|
28 | Shinni-694 | ||
29 | Shinni-694 | -- setsavedVars initializes the filter controlls for pve and pvp map type |
|
30 | Shinni-694 | -- after this function is called WORLD_MAP_FILTERS.pvePanel are initialized and can be manipulated |
|
31 | Shinni-694 | WORLD_MAP_FILTERS.SetSavedVars = function( self, savedVars ) |
|
32 | Shinni-694 | oldVars( self, savedVars) |
|
33 | Shinni-694 | ||
34 | Shinni-694 | oldPVEPinSet = self.pvePanel.SetPinFilter |
|
35 | Shinni-694 | oldPVPPinSet = self.pvpPanel.SetPinFilter |
|
36 | Shinni-694 | a = true |
|
37 | Shinni-694 | for _, pinType in ipairs(order) do |
|
38 | Shinni-694 | local pin = pinType |
|
39 | Shinni-694 | if #pin > 2 then |
|
40 | Shinni-694 | self.pvePanel.AddPinFilterCheckBox( self.pvePanel, pin, function() EHM.MapPins:RefreshPins( pin ) end) |
|
41 | Shinni-694 | ||
42 | Shinni-694 | if pin ~= "skyshard" and pin ~= "found_skyshard" then |
|
43 | Shinni-694 | self.pvePanel.AddPinFilterComboBox( self.pvePanel, pin.."color", function() EHM.MapPins:RefreshPins( pin ) end, "SI_MAPFILTER", "r", "g", "b", "w" ) |
|
44 | Shinni-694 | end |
|
45 | Shinni-694 | ||
46 | Shinni-694 | self.pvpPanel.AddPinFilterCheckBox( self.pvpPanel, pin, function() EHM.MapPins:RefreshPins( pin ) end) |
|
47 | Shinni-694 | end |
|
48 | Shinni-694 | end |
|
49 | Shinni-694 | ||
50 | Shinni-694 | --[[ |
|
51 | Shinni-694 | self.pvePanel.SetPinFilter = function( self, mapPinGroup, checked ) |
|
52 | Shinni-694 | oldPVEPinSet( self, mapPinGroup, checked ) |
|
53 | Shinni-694 | MapPins:enablePins( mapPinGroup, checked ) |
|
54 | Shinni-694 | end |
|
55 | Shinni-694 | ||
56 | Shinni-694 | self.pvpPanel.SetPinFilter = function( self, mapPinGroup, checked ) |
|
57 | Shinni-694 | oldPVPPinSet( self, mapPinGroup, checked ) |
|
58 | Shinni-694 | MapPins:enablePins( mapPinGroup, checked ) |
|
59 | Shinni-694 | end |
|
60 | Shinni-694 | ]]-- |
|
61 | Shinni-694 | ||
62 | Shinni-694 | end |
|
63 | Shinni-694 | ||
64 | Shinni-694 | function EHMInitializeFilters() |
|
65 | Shinni-694 | for pinType, _ in pairs(EsoheadMarkersFilters) do |
|
66 | Shinni-694 | local pin = pinType |
|
67 | Shinni-694 | if #pin > 2 then |
|
68 | Shinni-694 | if not WORLD_MAP_FILTERS.pvePanel:GetPinFilter(pin.."color") then |
|
69 | Shinni-694 | WORLD_MAP_FILTERS.pvePanel:SetPinFilter(pin.."color", "w") |
|
70 | Shinni-694 | end |
|
71 | Shinni-694 | end |
|
72 | Shinni-694 | end |
|
73 | Shinni-694 | end |
|
74 | Shinni-694 | ||
75 | Shinni-694 | local oldData = ZO_MapPin.SetData |
|
76 | Shinni-694 | ZO_MapPin.SetData = function( self, pinTypeId, pinTag) |
|
77 | Shinni-694 | local back, value |
|
78 | Shinni-694 | for pinType, _ in pairs(EsoheadMarkersFilters) do |
|
79 | Shinni-694 | if pinTypeId == _G[pinType] then |
|
80 | Shinni-694 | value = ZO_WorldMap_GetFilterValue(pinType.."color") |
|
81 | Shinni-694 | back = GetControl(self.m_Control, "Background") |
|
82 | Shinni-694 | if value == "r" then |
|
83 | Shinni-694 | back:SetColor(1,0.1,0.1,1) |
|
84 | Shinni-694 | elseif value == "g" then |
|
85 | Shinni-694 | back:SetColor(0.1,1,0.1,1) |
|
86 | Shinni-694 | elseif value == "b" then |
|
87 | Shinni-694 | back:SetColor(0.2,0.2,1,1) |
|
88 | Shinni-694 | else |
|
89 | Shinni-694 | back:SetColor(1,1,1,1) |
|
90 | Shinni-694 | end |
|
91 | Shinni-694 | end |
|
92 | Shinni-694 | end |
|
93 | Shinni-694 | oldData(self, pinTypeId, pinTag) |
|
94 | Shinni-694 | end |