Add tiles management
This commit is contained in:
18
tiles/tilesets.go
Normal file
18
tiles/tilesets.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user