protected TileGridLayer(string name, int tileWidth, int tileHeight, Level level)
: base(name, tileWidth, tileHeight)
{
Level = level;
_tileOriginX = (int)Math.Floor(level.OriginX * 1.0 / tileWidth);
_tileOriginY = (int)Math.Floor(level.OriginY * 1.0 / tileHeight);
int diffOriginX = level.OriginX - (_tileOriginX * tileWidth);
int diffOriginY = level.OriginY - (_tileOriginY * tileHeight);
_tilesWide = (int)Math.Ceiling((level.OriginX + level.Width + diffOriginX) * 1.0 / tileWidth) - _tileOriginX;
_tilesHigh = (int)Math.Ceiling((level.OriginY + level.Height + diffOriginY) * 1.0 / tileHeight) - _tileOriginY;
}