Fix road layers.

Draw roads layer by layer.
This commit is contained in:
Sergey Vartanov 2021-09-14 00:13:55 +03:00
parent 748b252d1e
commit 15466cb74c
3 changed files with 28 additions and 10 deletions

View file

@ -70,13 +70,18 @@ class Map:
self.svg.add(path)
progress_bar(-1, 0, text="Drawing ways")
roads: Iterator[Road] = sorted(
constructor.roads, key=lambda x: x.matcher.priority
)
for road in roads:
road.draw(self.svg, self.flinger, road.matcher.border_color, 2)
for road in roads:
road.draw(self.svg, self.flinger, road.matcher.color)
layered_roads: dict[float, list[Road]] = {}
for road in constructor.roads:
if road.layer not in layered_roads:
layered_roads[road.layer] = []
layered_roads[road.layer].append(road)
for layer in sorted(layered_roads.keys()):
roads = layered_roads[layer]
for road in roads:
road.draw(self.svg, self.flinger, road.matcher.border_color, 2)
for road in roads:
road.draw(self.svg, self.flinger, road.matcher.color)
for tree in constructor.trees:
tree.draw(self.svg, self.flinger, self.scheme)