Towny fixes - multiple areas on multiple worlds per town

This commit is contained in:
Mike Primm 2011-08-25 11:11:31 +08:00 committed by mikeprimm
parent ff4b036c6a
commit 04cc6aba43
3 changed files with 170 additions and 118 deletions

View file

@ -1,14 +1,12 @@
regionConstructors['Towny'] = function(dynmap, configuration) {
// Helper function.
function createOutlineFromRegion(name, region, outCreator) {
function createOutlineFromRegion(name, region, points, outCreator) {
var xarray = [];
var zarray = [];
if(region.points) {
var i;
for(i = 0; i < region.points.length; i++) {
xarray[i] = region.points[i].x;
zarray[i] = region.points[i].z;
}
var i;
for(i = 0; i < points.length; i++) {
xarray[i] = points[i].x;
zarray[i] = points[i].z;
}
var ymin = 64;
var ymax = 65;
@ -20,14 +18,17 @@ regionConstructors['Towny'] = function(dynmap, configuration) {
$.getJSON('standalone/'+regionFile, function(data) {
var boxLayers = [];
$.each(data, function(name, region) {
var outLayer = createOutlineFromRegion(name, region, configuration.createOutlineLayer);
if (outLayer) {
outLayer.bindPopup(configuration.createPopupContent(name,
$.extend(region, {
owners: { players: [region.mayor] },
members: { players: [ region.residents ] }
})));
boxLayers.push(outLayer);
var i;
for(i = 0; i < region.points.length; i++) {
var outLayer = createOutlineFromRegion(name, region, region.points[i], configuration.createOutlineLayer);
if (outLayer) {
outLayer.bindPopup(configuration.createPopupContent(name,
$.extend(region, {
owners: { players: [region.mayor] },
members: { players: [ region.residents ] }
})));
boxLayers.push(outLayer);
}
}
});
configuration.result(new L.LayerGroup(boxLayers));