(svn r23402) -Add: Function to check if a TileArea contains a tile. (michi_cc)
This commit is contained in:
		@@ -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();
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user