public XElement Serialize(BoardExit boardExit, string elementName = "boardExit") { return new XElement( elementName, new XAttribute("coordinate", CoordinateSerializer.Instance.Serialize(boardExit.Coordinate)), new XAttribute("direction", BoardExitDirectionSerializer.Instance.Serialize(boardExit.Direction)), new XAttribute("destinationBoardId", boardExit.DestinationBoardId), new XAttribute("destinationCoordinate", CoordinateSerializer.Instance.Serialize(boardExit.DestinationCoordinate))); }
public byte[] Serialize(BoardExit boardExit) { boardExit.ThrowIfNull("boardExit"); var serializer = new CompactSerializer(); serializer[0] = CoordinateSerializer.Instance.Serialize(boardExit.Coordinate); serializer[1] = Encoding.UTF8.GetBytes(boardExit.Direction.ToString()); serializer[2] = boardExit.DestinationBoardId.ToByteArray(); serializer[3] = CoordinateSerializer.Instance.Serialize(boardExit.DestinationCoordinate); return serializer.Serialize(); }