2019-04-04 11:19:29 +03:00
|
|
|
/* exported WorldInfoDisplay */
|
2019-02-04 23:25:30 +03:00
|
|
|
|
2019-05-14 17:03:21 +03:00
|
|
|
var worldInfoRender = function(info){
|
2019-05-14 17:17:04 +03:00
|
|
|
|
|
|
|
var timeIcon = m("span", { class: "fa fa-sun" });
|
|
|
|
|
|
|
|
if (info.time < 5500 || info.time > 19000) //0 - 24'000
|
|
|
|
timeIcon = m("span", { class: "fa fa-moon" });
|
|
|
|
|
|
|
|
function getHour(){
|
|
|
|
return Math.floor(info.time/1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
function getMinute(){
|
|
|
|
return Math.floor((info.time % 1000) / 100 * 60);
|
|
|
|
}
|
|
|
|
|
|
|
|
function getLag(){
|
|
|
|
var color = "green";
|
|
|
|
if (info.max_lag > 0.8)
|
|
|
|
color = "yellow";
|
|
|
|
else if (info.max_lag > 1.2)
|
|
|
|
color = "red";
|
|
|
|
|
|
|
|
return [
|
|
|
|
m("span", { class: "fa fa-wifi", style: "color: " + color }),
|
|
|
|
parseInt(info.max_lag/1000),
|
|
|
|
" ms"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
2019-05-14 17:19:24 +03:00
|
|
|
function getPlayers(){
|
|
|
|
return [
|
|
|
|
m("span", { class: "fa fa-users" }),
|
|
|
|
info.players.length
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
2019-05-14 17:17:04 +03:00
|
|
|
return [
|
2019-05-14 17:19:24 +03:00
|
|
|
getPlayers(),
|
|
|
|
" ",
|
2019-05-14 17:17:04 +03:00
|
|
|
getLag(),
|
|
|
|
" ",
|
|
|
|
m("span", { class: "fa fa-clock" }),
|
|
|
|
timeIcon,
|
|
|
|
getHour(), ":", getMinute()
|
|
|
|
];
|
|
|
|
|
2019-05-14 17:04:42 +03:00
|
|
|
};
|
2019-05-14 17:03:21 +03:00
|
|
|
|
2019-02-04 23:25:30 +03:00
|
|
|
// coord display
|
|
|
|
var WorldInfoDisplay = L.Control.extend({
|
|
|
|
initialize: function(wsChannel, opts) {
|
|
|
|
L.Control.prototype.initialize.call(this, opts);
|
|
|
|
this.wsChannel = wsChannel;
|
|
|
|
},
|
|
|
|
|
2019-04-04 11:19:29 +03:00
|
|
|
onAdd: function() {
|
2019-02-04 23:25:30 +03:00
|
|
|
var div = L.DomUtil.create('div', 'leaflet-bar leaflet-custom-display');
|
|
|
|
|
|
|
|
this.wsChannel.addListener("minetest-info", function(info){
|
2019-05-14 17:04:42 +03:00
|
|
|
m.render(div, worldInfoRender(info));
|
2019-02-04 23:25:30 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
return div;
|
|
|
|
}
|
|
|
|
});
|