Add tiles management

This commit is contained in:
2023-03-29 12:50:25 +02:00
parent 77c8576254
commit bbc682386a
18 changed files with 559 additions and 64 deletions

18
tiles/tilesets.go Normal file
View File

@@ -0,0 +1,18 @@
package tiles
// Tileset stores tiles by TileID
type Tileset map[string]*Tile
func (tileset Tileset) GetTiledRoutes() []TiledRoute {
idmap := map[string]bool{}
result := []TiledRoute{}
for _, tile := range tileset {
for _, tr := range tile.TiledRoutes {
if _, ok := idmap[tr.Route.ExtraMembers.MustString("id")]; !ok {
idmap[tr.Route.ExtraMembers.MustString("id")] = true
result = append(result, tr)
}
}
}
return result
}