(svn r23402) -Add: Function to check if a TileArea contains a tile. (michi_cc)

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
terkhen 13 years ago
parent c792125d6a
commit bf1b6d570b

@ -93,6 +93,25 @@ bool TileArea::Intersects(const TileArea &ta) const
);
}
/**
* Does this tile area contain a tile?
* @param tile Tile to test for.
* @return True if the tile is inside the area.
*/
bool TileArea::Contains(TileIndex tile) const
{
if (this->w == 0) return false;
assert(this->w != 0 && this->h != 0);
uint left = TileX(this->tile);
uint top = TileY(this->tile);
uint tile_x = TileX(tile);
uint tile_y = TileY(tile);
return IsInsideBS(tile_x, left, this->w) && IsInsideBS(tile_y, top, this->h);
}
/**
* Clamp the tile area to map borders.
*/

@ -48,6 +48,8 @@ struct TileArea {
bool Intersects(const TileArea &ta) const;
bool Contains(TileIndex tile) const;
void ClampToMap();
/**

Loading…
Cancel
Save