public TmxLayerTile(uint id, int x, int y)
{
var rawGid = id;
X = x;
Y = y;
// Scan for tile flip bit flags
bool flip;
flip = (rawGid & FLIPPED_HORIZONTALLY_FLAG) != 0;
HorizontalFlip = flip ? true : false;
flip = (rawGid & FLIPPED_VERTICALLY_FLAG) != 0;
VerticalFlip = flip ? true : false;
flip = (rawGid & FLIPPED_DIAGONALLY_FLAG) != 0;
DiagonalFlip = flip ? true : false;
// Zero the bit flags
rawGid &= ~(FLIPPED_HORIZONTALLY_FLAG |
FLIPPED_VERTICALLY_FLAG |
FLIPPED_DIAGONALLY_FLAG);
// Save GID remainder to int
Gid = (int)rawGid;
}