world map tooltips
This commit is contained in:
parent
ae51542d2e
commit
3ee0264c22
2 changed files with 19 additions and 19 deletions
|
@ -40,22 +40,14 @@ var AddMapLandmass = func(w *DfWorld, id int) template.HTML {
|
|||
c2 := strings.Split(x.Coord2, ",")
|
||||
x2, _ := strconv.Atoi(c2[0])
|
||||
y2, _ := strconv.Atoi(c2[1])
|
||||
return template.HTML(fmt.Sprintf(`<script>addRegion('%s', %d, %d, %d, %d, '#FFF')</script>`, x.Name_, x1, y1, x2, y2))
|
||||
return template.HTML(fmt.Sprintf(`<script>addLandmass(%d, %d, %d, %d, %d, '#FFF')</script>`, x.Id_, x1, y1, x2, y2))
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var AddMapRegion = func(w *DfWorld, id int) template.HTML {
|
||||
if x, ok := w.Regions[id]; ok {
|
||||
r := "<script>"
|
||||
r += "var polygon = L.polygon(["
|
||||
r += strings.Join(util.Map(x.Outline(), func(c Coord) string { return fmt.Sprintf(`coord(%d,%d)`, c.X, c.Y-1) }), ",")
|
||||
r += "], { color : '#fff', opacity: 1, fillOpacity: 0, weight : 1 }).addTo(regionsLayer);\n"
|
||||
r += "attachTooltip(polygon, '" + x.Name_ + "');\n"
|
||||
|
||||
r += "polygon.on('mouseover', function (e) { this.setStyle({weight: 10}); });\n"
|
||||
r += "polygon.on('mouseout', function (e) { this.setStyle({ weight: 3}); });\n"
|
||||
|
||||
coords := strings.Join(util.Map(x.Outline(), func(c Coord) string { return fmt.Sprintf(`coord(%d,%d)`, c.X, c.Y-1) }), ",")
|
||||
fillColor := "transparent"
|
||||
switch x.Evilness {
|
||||
case RegionEvilness_Evil:
|
||||
|
@ -63,12 +55,7 @@ var AddMapRegion = func(w *DfWorld, id int) template.HTML {
|
|||
case RegionEvilness_Good:
|
||||
fillColor = "aqua"
|
||||
}
|
||||
if fillColor != "transparent" {
|
||||
r += "var evilPolygon = L.polygon(polygon.getLatLngs(), { color: 'transparent', opacity: 1, fillColor: '" + fillColor + "', fillOpacity: .3, interactive: false });\n"
|
||||
r += "evilPolygon.addTo(evilnessLayer);\n"
|
||||
}
|
||||
r += "</script>"
|
||||
return template.HTML(r)
|
||||
return template.HTML(fmt.Sprintf(`<script>addRegion(%d, [%s], '%s')</script>`, x.Id_, coords, fillColor))
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
@ -110,7 +97,7 @@ var AddMapWorldConstruction = func(w *DfWorld, id int) template.HTML {
|
|||
color := util.If(x.Type_ == WorldConstructionType_Tunnel, "#000", "#fff")
|
||||
line := x.Line()
|
||||
if len(line) == 1 {
|
||||
return template.HTML(fmt.Sprintf(`<script>addWc('%s', %d, %d, '%s')</script>`, x.Name_, line[0].X, line[0].Y, color))
|
||||
return template.HTML(fmt.Sprintf(`<script>addWc(%d, %d, %d, '%s')</script>`, x.Id_, line[0].X, line[0].Y, color))
|
||||
} else {
|
||||
r := "<script>"
|
||||
r += "var polyline = L.polyline(["
|
||||
|
|
|
@ -151,7 +151,7 @@ function addWc(id, y, x, color) {
|
|||
attachTooltip(polygon, urlToolTip("worldconstruction", id));
|
||||
}
|
||||
|
||||
function addRegion(name, y1, x1, y2, x2, color) {
|
||||
function addLandmass(id, y1, x1, y2, x2, color) {
|
||||
x1--; y2++;
|
||||
var polygon = L.polygon(
|
||||
[coord(y1, x1), coord(y2, x1), coord(y2, x2), coord(y1, x2)], {
|
||||
|
@ -160,7 +160,7 @@ function addRegion(name, y1, x1, y2, x2, color) {
|
|||
weight: 1
|
||||
}).addTo(landmassesLayer);
|
||||
|
||||
attachTooltip(polygon, name);
|
||||
attachTooltip(polygon, urlToolTip("landmass", id));
|
||||
}
|
||||
|
||||
function addMountain(id, y, x, color) {
|
||||
|
@ -209,4 +209,17 @@ function addBattle(name, y, x) {
|
|||
miny = Math.min(y, miny);
|
||||
maxx = Math.max(x, maxx);
|
||||
maxy = Math.max(y, maxy);
|
||||
}
|
||||
|
||||
function addRegion(id, coords, fillColor) {
|
||||
var polygon = L.polygon(coords, { color: '#fff', opacity: 1, fillOpacity: 0, weight: 1 }).addTo(regionsLayer);
|
||||
attachTooltip(polygon, urlToolTip('region', id));
|
||||
|
||||
polygon.on('mouseover', function (e) { this.setStyle({ weight: 10 }); });
|
||||
polygon.on('mouseout', function (e) { this.setStyle({ weight: 3 }); });
|
||||
|
||||
if (fillColor != "transparent") {
|
||||
var evilPolygon = L.polygon(polygon.getLatLngs(), { color: 'transparent', opacity: 1, fillColor: fillColor, fillOpacity: .3, interactive: false });
|
||||
evilPolygon.addTo(evilnessLayer);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue