From fb7b85d6ab5cfb210c834c2f04b5d1195a51cf82 Mon Sep 17 00:00:00 2001 From: gered Date: Wed, 28 Aug 2013 23:52:57 -0400 Subject: [PATCH] add basic Tile serialize/deserialize to binary methods --- .../Blarg.GameFramework.csproj | 2 + .../TileMap/TileDataSerializer.cs | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 Blarg.GameFramework/TileMap/TileDataSerializer.cs diff --git a/Blarg.GameFramework/Blarg.GameFramework.csproj b/Blarg.GameFramework/Blarg.GameFramework.csproj index ed44a5e..cc88476 100644 --- a/Blarg.GameFramework/Blarg.GameFramework.csproj +++ b/Blarg.GameFramework/Blarg.GameFramework.csproj @@ -218,6 +218,7 @@ + @@ -248,6 +249,7 @@ + diff --git a/Blarg.GameFramework/TileMap/TileDataSerializer.cs b/Blarg.GameFramework/TileMap/TileDataSerializer.cs new file mode 100644 index 0000000..aca76b2 --- /dev/null +++ b/Blarg.GameFramework/TileMap/TileDataSerializer.cs @@ -0,0 +1,41 @@ +using System; +using System.IO; + +namespace Blarg.GameFramework.TileMap +{ + public static class TileDataSerializer + { + public static void Serialize(Tile src, BinaryWriter writer) + { + writer.Write(src.TileIndex); + writer.Write(src.Flags); + writer.Write(src.TileLight); + writer.Write(src.SkyLight); + writer.Write(src.Rotation); + writer.Write(src.ParentTileOffsetX); + writer.Write(src.ParentTileOffsetY); + writer.Write(src.ParentTileOffsetZ); + writer.Write(src.ParentTileWidth); + writer.Write(src.ParentTileHeight); + writer.Write(src.ParentTileDepth); + writer.Write(src.Color); + } + + public static void Deserialize(BinaryReader reader, Tile dest) + { + dest.TileIndex = reader.ReadInt16(); + dest.Flags = reader.ReadInt16(); + dest.TileLight = reader.ReadByte(); + dest.SkyLight = reader.ReadByte(); + dest.Rotation = reader.ReadByte(); + dest.ParentTileOffsetX = reader.ReadByte(); + dest.ParentTileOffsetY = reader.ReadByte(); + dest.ParentTileOffsetZ = reader.ReadByte(); + dest.ParentTileWidth = reader.ReadByte(); + dest.ParentTileHeight = reader.ReadByte(); + dest.ParentTileDepth = reader.ReadByte(); + dest.Color = reader.ReadInt32(); + } + } +} +