0

The compass now changes direction to make the tileset

This commit is contained in:
Andrew Chin
2012-02-10 20:38:09 -05:00
parent 19fcee24f7
commit b7d2733f0c
4 changed files with 39 additions and 5 deletions

View File

@@ -20,6 +20,7 @@ import locale
import time
from PIL import Image
import world
import util
import overviewer_version
@@ -81,6 +82,10 @@ directory.
}
dump['CONST']['mapDivId'] = 'mcmap'
dump['CONST']['regionStrokeWeight'] = 2
dump['CONST']['UPPERLEFT'] = world.UPPER_LEFT;
dump['CONST']['UPPERRIGHT'] = world.UPPER_RIGHT;
dump['CONST']['LOWERLEFT'] = world.LOWER_LEFT;
dump['CONST']['LOWERRIGHT'] = world.LOWER_RIGHT;
# based on the tilesets we have, group them by worlds
worlds = []

View File

@@ -31,7 +31,7 @@ overviewer.util = {
// controls should be added in the order they should appear on screen,
// with controls on the outside of the page being added first
var compass = new overviewer.views.CompassView({tagName: 'DIV'});
var compass = new overviewer.views.CompassView({tagName: 'DIV', model:overviewer.mapModel});
compass.render();
var coordsdiv = new overviewer.views.CoordboxView({tagName: 'DIV'});
@@ -41,6 +41,12 @@ overviewer.util = {
coordsdiv.updateCoords(event.latLng);
});
google.maps.event.addListener(overviewer.map, 'maptypeid_changed', function(event) {
//overviewer.map.getMapTypeId();
compass.render();
});
var worldSelector = new overviewer.views.WorldSelectorView({tagName:'DIV'});
overviewer.collections.worlds.bind("add", worldSelector.render, worldSelector);

View File

@@ -78,7 +78,26 @@ overviewer.views.CompassView = Backbone.View.extend({
overviewer.map.controls[google.maps.ControlPosition.TOP_RIGHT].push(this.el);
},
/**
* CompassView::render
*/
render: function() {
var currentWorldView = this.model.get("currentWorldView");
var gmapCurrent = overviewer.map.getMapTypeId();
for (id in currentWorldView.options.mapTypeIds) {
if (currentWorldView.options.mapTypeIds[id] == gmapCurrent) {
var tsetModel = currentWorldView.model.get("tileSets").at(id);
var northdir = tsetModel.get("north_direction");
if (northdir == overviewerConfig.CONST.UPPERLEFT)
this.$("IMG").attr("src","compass_upper-left.png");
if (northdir == overviewerConfig.CONST.UPPERRIGHT)
this.$("IMG").attr("src", "compass_upper-right.png");
if (northdir == overviewerConfig.CONST.LOWERLEFT)
this.$("IMG").attr("src", "compass_lower-left.png");
if (northdir == overviewerConfig.CONST.LOWERRIGHT)
this.$("IMG").attr("src", "compass_lower-right.png");
}
}
}
});

View File

@@ -391,8 +391,12 @@ class TileSet(object):
base = '',
bgcolor = bgcolorformat(self.options.get('bgcolor')),
world = self.options.get('worldname_orig') + " - " + self.options.get('dimension'),
last_rendertime = self.this_rendertime,
north_direction = 'upper-left')
last_rendertime = self.this_rendertime)
try:
d['north_direction'] = self.regionset.north_dir
except AttributeError:
d['north_direction'] = 0
print "get_persistent_data: %r" % d
return d