Towny fixes - multiple areas on multiple worlds per town
This commit is contained in:
parent
ff4b036c6a
commit
04cc6aba43
3 changed files with 170 additions and 118 deletions
|
|
@ -53,44 +53,38 @@ componentconstructors['regions'] = function(dynmap, configuration) {
|
|||
}
|
||||
|
||||
function create3DBoxLayer(maxx, minx, maxy, miny, maxz, minz, style) {
|
||||
return new L.FeatureGroup([
|
||||
new L.Polygon([
|
||||
return new L.MultiPolygon([
|
||||
[
|
||||
latlng(minx,miny,minz),
|
||||
latlng(maxx,miny,minz),
|
||||
latlng(maxx,miny,maxz),
|
||||
latlng(minx,miny,maxz)
|
||||
], style),
|
||||
new L.Polygon([
|
||||
],[
|
||||
latlng(minx,maxy,minz),
|
||||
latlng(maxx,maxy,minz),
|
||||
latlng(maxx,maxy,maxz),
|
||||
latlng(minx,maxy,maxz)
|
||||
], style),
|
||||
new L.Polygon([
|
||||
],[
|
||||
latlng(minx,miny,minz),
|
||||
latlng(minx,maxy,minz),
|
||||
latlng(maxx,maxy,minz),
|
||||
latlng(maxx,miny,minz)
|
||||
], style),
|
||||
new L.Polygon([
|
||||
],[
|
||||
latlng(maxx,miny,minz),
|
||||
latlng(maxx,maxy,minz),
|
||||
latlng(maxx,maxy,maxz),
|
||||
latlng(maxx,miny,maxz)
|
||||
], style),
|
||||
new L.Polygon([
|
||||
],[
|
||||
latlng(minx,miny,maxz),
|
||||
latlng(minx,maxy,maxz),
|
||||
latlng(maxx,maxy,maxz),
|
||||
latlng(maxx,miny,maxz)
|
||||
], style),
|
||||
new L.Polygon([
|
||||
],[
|
||||
latlng(minx,miny,minz),
|
||||
latlng(minx,maxy,minz),
|
||||
latlng(minx,maxy,maxz),
|
||||
latlng(minx,miny,maxz)
|
||||
], style)
|
||||
]);
|
||||
]], style);
|
||||
}
|
||||
|
||||
function create2DBoxLayer(maxx, minx, maxy, miny, maxz, minz, style) {
|
||||
|
|
@ -117,12 +111,12 @@ componentconstructors['regions'] = function(dynmap, configuration) {
|
|||
sidelist[1] = botlist[i];
|
||||
sidelist[2] = botlist[(i+1)%xarray.length];
|
||||
sidelist[3] = toplist[(i+1)%xarray.length];
|
||||
polylist[i] = new L.Polygon(sidelist, style);
|
||||
polylist[i] = sidelist;
|
||||
}
|
||||
polylist[xarray.length] = new L.Polygon(botlist, style);
|
||||
polylist[xarray.length+1] = new L.Polygon(toplist, style);
|
||||
polylist[xarray.length] = botlist;
|
||||
polylist[xarray.length+1] = toplist;
|
||||
|
||||
return new L.FeatureGroup(polylist);
|
||||
return new L.MultiPolygon(polylist, style);
|
||||
}
|
||||
|
||||
function create2DOutlineLayer(xarray, maxy, miny, zarray, style) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue