Changed clocks to be components.

This commit is contained in:
FrozenCow 2011-03-31 15:52:35 +02:00
parent 1cda538eef
commit f93eb8dcbc
9 changed files with 161 additions and 147 deletions

42
web/js/digitalclock.js Normal file
View file

@ -0,0 +1,42 @@
componentconstructors['digitalclock'] = function(dynmap, configuration) {
var element = $('<div/>')
.addClass('digitalclock')
.addClass('largeclock')
.appendTo(dynmap.options.container);
var timeout = null;
var formatTime = function(time) {
var formatDigits = function(n, digits) {
var s = n.toString();
while (s.length < digits) {
s = '0' + s;
}
return s;
}
return formatDigits(time.hours, 2) + ':' + formatDigits(time.minutes, 2);
};
var setTime = function(servertime) {
if (timeout != null) {
window.clearTimeout(timeout);
timeout = null;
}
var time = getMinecraftTime(servertime);
element
.addClass(time.day ? 'day' : 'night')
.removeClass(time.night ? 'day' : 'night')
.text(formatTime(time));
if (timeout == null) {
timeout = window.setTimeout(function() {
timeout = null;
setTime(time.servertime+(1000/60));
}, 700);
}
};
$(dynmap).bind('worldupdated', function(event, update) {
setTime(update.servertime);
});
};