| 51 | } |
| 52 | |
| 53 | void TileSet::addTileLink(TileVisual tileVisual1, TileVisual tileVisual2) |
| 54 | { |
| 55 | uint32_t intTile1Visual = static_cast<uint32_t>(tileVisual1); |
| 56 | uint32_t intTile2Visual = static_cast<uint32_t>(tileVisual2); |
| 57 | if(intTile1Visual >= mTileLinks.size()) |
| 58 | { |
| 59 | OD_LOG_ERR("TileVisual=" + Tile::tileVisualToString(tileVisual1)); |
| 60 | return; |
| 61 | } |
| 62 | if(intTile2Visual >= mTileLinks.size()) |
| 63 | { |
| 64 | OD_LOG_ERR("TileVisual=" + Tile::tileVisualToString(tileVisual2)); |
| 65 | return; |
| 66 | } |
| 67 | |
| 68 | uint32_t tileLink; |
| 69 | tileLink = 1 << intTile2Visual; |
| 70 | mTileLinks[intTile1Visual] |= tileLink; |
| 71 | |
| 72 | // We want a commutative relationship |
| 73 | tileLink = 1 << intTile1Visual; |
| 74 | mTileLinks[intTile2Visual] |= tileLink; |
| 75 | } |
| 76 | |
| 77 | bool TileSet::areLinked(const Tile* tile1, const Tile* tile2) const |
| 78 | { |