From c4cce7182a3b20079645ce1ff2ac481c7655a780 Mon Sep 17 00:00:00 2001 From: FrozenCow Date: Wed, 12 Jan 2011 02:03:31 +0100 Subject: [PATCH] More cleanup. --- web/custommarker.js | 9 ++++++ web/map.js | 79 ++++++++++++++++++++------------------------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/web/custommarker.js b/web/custommarker.js index de1f04d2..248bf1e3 100644 --- a/web/custommarker.js +++ b/web/custommarker.js @@ -71,6 +71,15 @@ CustomMarker.prototype.show = function() { } } +CustomMarker.prototype.toggle = function(t) { + if (typeof t == "boolean") { + if (t) this.show(); + else this.hide(); + } else { + this.toggle(this.isHidden == true); + } +} + CustomMarker.prototype.remove = function() { // Check if the overlay was on the map and needs to be removed. if (this.div_) { diff --git a/web/map.js b/web/map.js index 5975227a..fbb65766 100644 --- a/web/map.js +++ b/web/map.js @@ -35,7 +35,7 @@ MinecraftClock.prototype = { this.timeout = window.setTimeout(function() { me.timeout = null; me.setTime(getMinecraftTime(me.time.servertime+(1000/60))); - }, 700 /* should be 600, but since server-resyncing it looks better with 700 */); + }, 700); } }, formatTime: function(time) { @@ -50,56 +50,47 @@ MinecraftClock.prototype = { } }; -var tileDict = new Array(); -var lastSeen = new Array(); - -function getTileUrl(tile, always) { - if(always) { - var now = new Date(); - return config.tileUrl + tile + '.png?' + now.getTime(); - } else if(tile in lastSeen) { - return config.tileUrl + tile + '.png?' + lastSeen[tile]; - } else { - return config.tileUrl + tile + '.png?0'; - } -} - -function registerTile(mapType, tileName, tile) { - tileDict[tileName] = { - tileElement: tile, - mapType: mapType - }; -} - -function unregisterTile(mapType, tileName) { - delete tileDict[tileName]; -} - -function onTileUpdated(tileName) { - lastSeen[tileName] = lasttimestamp; - - var tile = tileDict[tileName]; - if (tile) { - tile.mapType.onTileUpdated(tile.tileElement, tileName); - } -} - +var registeredTiles = new Array(); var clock = null; var markers = new Array(); var lasttimestamp = '0'; var followingPlayer = ''; +function getTileUrl(tileName, always) { + var tile = registeredTiles[tileName]; + + if(tile) { + return config.tileUrl + tileName + '.png?' + tile.lastseen; + } else { + return config.tileUrl + tileName + '.png?0'; + } +} + +function registerTile(mapType, tileName, tile) { + registeredTiles[tileName] = { + tileElement: tile, + mapType: mapType, + lastseen: '0' + }; +} + +function unregisterTile(mapType, tileName) { + delete registeredTiles[tileName]; +} + +function onTileUpdated(tileName) { + var tile = registeredTiles[tileName]; + + if (tile) { + tile.lastseen = lasttimestamp; + tile.mapType.onTileUpdated(tile.tileElement, tileName); + } +} + function updateMarker(mi) { if(mi.id in markers) { var m = markers[mi.id]; - if (!mi.visible) { - m.hide(); - return; - } - else { - m.show(); - } - + m.toggle(mi.visible); m.setPosition(mi.position); } else { var contentfun = function(div,mi) { @@ -125,7 +116,7 @@ function updateMarker(mi) { }); }; } - var marker = new CustomMarker(converted, map, contentfun, mi); + var marker = new CustomMarker(mi.position, map, contentfun, mi); marker.markerType = mi.type; markers[mi.id] = marker;