-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshow-portal-level.user.js
79 lines (66 loc) · 3.19 KB
/
show-portal-level.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// ==UserScript==
// @id iitc-plugin-show-portal-level@CyBot
// @name iitc: show portal level
// @version 0.1
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL https://raw.github.com/CyBot/iitc-show-portal-level/master/show-portal-level.user.js
// @downloadURL https://raw.github.com/CyBot/iitc-show-portal-level/master/show-portal-level.user.js
// @description Shows portal level
// @include https://www.ingress.com/intel*
// @include http://www.ingress.com/intel*
// @match https://www.ingress.com/intel*
// @match http://www.ingress.com/intel*
// ==/UserScript==
function wrapper() {
// ensure plugin framework is there, even if iitc is not yet loaded
if(typeof window.plugin !== 'function') window.plugin = function() {};
// PLUGIN START ////////////////////////////////////////////////////////
// use own namespace for plugin
window.plugin.portalLevel = function() {};
window.plugin.portalLevel.layer = null;
window.plugin.portalLevel.portalAdded = function(data) {
if (window.plugin.portalOwner.layer === null)
return;
var d = data.portal.options.details;
var portal_level = 0;
if(getTeam(d) != 0)
{
portal_level = window.getPortalLevel(d);
var level_color = COLORS_LVL[parseInt(portal_level)];
var params = {fillColor: level_color, fillOpacity: 0.80};
data.portal.setStyle(params);
var levelIcon = L.icon({
iconUrl: 'https://raw.github.com/CyBot/iitc-show-portal-level/master/images/'+parseInt(portal_level)+'.png',
iconSize: [8, 12], // size of the icon
});
var portalID = data.portal.options.guid;
var levelMarker = L.marker(data.portal.getLatLng(), {icon: levelIcon, portalGUID: portalID});
//Issue: Cannot remove yet...
levelMarker.on('click', function() { window.renderPortalDetails(portalID); });
levelMarker.addTo(window.plugin.portalLevel.layer);
}
}
var setup = function() {
window.plugin.portalLevel.layer = L.layerGroup([]);
// window.map.on('layeradd', function(e) {
// if (e.layer === window.plugin.portalLevel.layer)
// window.plugin.portalLevel.updateLayer();
// });
window.addHook('portalAdded', window.plugin.portalLevel.portalAdded);
window.layerChooser.addOverlay(window.plugin.portalLevel.layer, 'Portal level');
map.addLayer(window.plugin.portalLevel.layer);
}
// PLUGIN END //////////////////////////////////////////////////////////
if(window.iitcLoaded && typeof setup === 'function') {
setup();
} else {
if(window.bootPlugins)
window.bootPlugins.push(setup);
else
window.bootPlugins = [setup];
}
} // wrapper end
// inject code into site context
var script = document.createElement('script');
script.appendChild(document.createTextNode('('+ wrapper +')();'));
(document.body || document.head || document.documentElement).appendChild(script);