Currently, tiles Features are implementing as an enum to represent the various types, and a connections field is provided on the few that touch the edges of the tiles (Roads, doesn't include all that are included in the base game. Specifically, we are missing:
A Feature of a Tile can touch zero, one, or more cardinal direction of the Tile. In the event it touches non, as in the case of a Monastery, it exists as a simple enum with no struct fields. However, in the case it does touch a direction, like a City, it contains a connections field which lists all the sides it touches.

The part of the above image is represented as follows:
- Bottom Left
- Road: [North, East]
- Field: [NorthNorthEast, NorthEastEast]
- Field: [SouthEastEast, SouthWestWest, West, NorthWestWest, NorthNorthWest]
- Bottom Right
- Road: [North]
- Field: [NorthNorthEast, NorthEastEast, East, SouthEastEast, SouthSouthEast]
- Road: [South]
- Field: [SouthSouthWest, SouthWestWest]
- Road: [West]
- Field: [NorthWestWest, NorthNorthWest]
Note: roads that terminate in the centre are represented as only touching one Direction.
Currently, tiles Features are implementing as an enum to represent the various types, and a
connectionsfield is provided on the few that touch the edges of the tiles (Roads, doesn't include all that are included in the base game. Specifically, we are missing:A
Featureof aTilecan touch zero, one, or more cardinal direction of theTile. In the event it touches non, as in the case of aMonastery, it exists as a simple enum with no struct fields. However, in the case it does touch a direction, like aCity, it contains aconnectionsfield which lists all the sides it touches.The part of the above image is represented as follows:
Note: roads that terminate in the centre are represented as only touching one
Direction.