summaryrefslogtreecommitdiff
path: root/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs')
-rw-r--r--Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs
new file mode 100644
index 0000000..d3147a4
--- /dev/null
+++ b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/TiledMapTile.cs
@@ -0,0 +1,28 @@
+namespace MonoGame.Extended.Tiled
+{
+ public struct TiledMapTile
+ {
+ public readonly ushort X;
+ public readonly ushort Y;
+ public readonly uint GlobalTileIdentifierWithFlags;
+
+ public int GlobalIdentifier => (int)(GlobalTileIdentifierWithFlags & ~(uint)TiledMapTileFlipFlags.All);
+ public bool IsFlippedHorizontally => (GlobalTileIdentifierWithFlags & (uint)TiledMapTileFlipFlags.FlipHorizontally) != 0;
+ public bool IsFlippedVertically => (GlobalTileIdentifierWithFlags & (uint)TiledMapTileFlipFlags.FlipVertically) != 0;
+ public bool IsFlippedDiagonally => (GlobalTileIdentifierWithFlags & (uint)TiledMapTileFlipFlags.FlipDiagonally) != 0;
+ public bool IsBlank => GlobalIdentifier == 0;
+ public TiledMapTileFlipFlags Flags => (TiledMapTileFlipFlags)(GlobalTileIdentifierWithFlags & (uint)TiledMapTileFlipFlags.All);
+
+ public TiledMapTile(uint globalTileIdentifierWithFlags, ushort x, ushort y)
+ {
+ GlobalTileIdentifierWithFlags = globalTileIdentifierWithFlags;
+ X = x;
+ Y = y;
+ }
+
+ public override string ToString()
+ {
+ return $"GlobalIdentifier: {GlobalIdentifier}, Flags: {Flags}";
+ }
+ }
+} \ No newline at end of file