public byte[] Seralize(Size size) { var serializer = new CompactSerializer(); serializer[0] = BitConverter.GetBytes(size.Width); serializer[1] = BitConverter.GetBytes(size.Height); return serializer.Serialize(); }
public byte[] Serialize(Coordinate coordinate) { var serializer = new CompactSerializer(); serializer[0] = BitConverter.GetBytes(coordinate.X); serializer[1] = BitConverter.GetBytes(coordinate.Y); return serializer.Serialize(); }
public byte[] Serialize(Character character) { var serializer = new CompactSerializer(); serializer[0] = new[] { character.Symbol }; serializer[1] = ColorSerializer.Instance.Serialize(character.ForegroundColor); serializer[2] = ColorSerializer.Instance.Serialize(character.BackgroundColor); return serializer.Serialize(); }
public byte[] Serialize(MessageColor messageColor) { messageColor.ThrowIfNull("messageColor"); var serializer = new CompactSerializer(); serializer[0] = ColorSerializer.Instance.Serialize(messageColor.Color); return serializer.Serialize(); }
public byte[] Serialize(MessageText messageText) { messageText.ThrowIfNull("messageText"); var serializer = new CompactSerializer(); serializer[0] = Encoding.UTF8.GetBytes(messageText.Text); return serializer.Serialize(); }
public byte[] Serialize(Sprite sprite) { sprite.ThrowIfNull("sprite"); var serializer = new CompactSerializer(); serializer[0] = CoordinateSerializer.Instance.Serialize(sprite.Coordinate); serializer[1] = CharacterSerializer.Instance.Serialize(sprite.Character); return serializer.Serialize(); }
public byte[] Serialize(Color color) { var serializer = new CompactSerializer(); serializer[0] = BitConverter.GetBytes(color.R); serializer[1] = BitConverter.GetBytes(color.G); serializer[2] = BitConverter.GetBytes(color.B); serializer[3] = BitConverter.GetBytes(color.A); return serializer.Serialize(); }
public byte[] Serialize(Song song) { song.ThrowIfNull("song"); var serializer = new CompactSerializer(); serializer[0] = song.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(song.Name); serializer[2] = Encoding.UTF8.GetBytes(song.Description); serializer[3] = song.Data; return serializer.Serialize(); }
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(); }
public byte[] Serialize(Actor actor) { actor.ThrowIfNull("actor"); var serializer = new CompactSerializer(); serializer[0] = actor.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(actor.Name); serializer[2] = Encoding.UTF8.GetBytes(actor.Description); serializer[3] = CharacterSerializer.Instance.Serialize(actor.Character); return serializer.Serialize(); }
public byte[] Serialize(Player player) { player.ThrowIfNull("player"); var serializer = new CompactSerializer(); serializer[0] = player.Id.ToByteArray(); serializer[1] = player.BoardId.ToByteArray(); serializer[2] = CoordinateSerializer.Instance.Serialize(player.Coordinate); serializer[3] = CharacterSerializer.Instance.Serialize(player.Character); serializer[4] = EventHandlerCollectionSerializer.Instance.Serialize(player.EventHandlerCollection); return serializer.Serialize(); }
public byte[] Serialize(EventHandlerCollection eventHandlerCollection) { var serializer = new CompactSerializer(); int index = 0; if (eventHandlerCollection != null) { foreach (IEventHandler eventHandler in eventHandlerCollection.EventHandlers) { serializer[index++] = Encoding.ASCII.GetBytes(eventHandler.EventHandlerTypeName); } } return serializer.Serialize(); }
public byte[] Serialize(Timer timer) { timer.ThrowIfNull("timer"); var serializer = new CompactSerializer(); serializer[0] = timer.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(timer.Name); serializer[2] = Encoding.UTF8.GetBytes(timer.Description); serializer[3] = BitConverter.GetBytes(timer.Interval.Ticks); serializer[4] = Encoding.UTF8.GetBytes(timer.State.ToString()); serializer[5] = BitConverter.GetBytes(timer.ElapsedTime.Ticks); serializer[6] = EventHandlerCollectionSerializer.Instance.Serialize(timer.EventHandlerCollection); return serializer.Serialize(); }
public byte[] Serialize(ActorInstance actorInstance) { actorInstance.ThrowIfNull("actorInstance"); var serializer = new CompactSerializer(); serializer[0] = actorInstance.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(actorInstance.Name); serializer[2] = Encoding.UTF8.GetBytes(actorInstance.Description); serializer[3] = actorInstance.ActorId.ToByteArray(); serializer[4] = actorInstance.BoardId.ToByteArray(); serializer[5] = CoordinateSerializer.Instance.Serialize(actorInstance.Coordinate); serializer[6] = CharacterSerializer.Instance.Serialize(actorInstance.Character); serializer[7] = EventHandlerCollectionSerializer.Instance.Serialize(actorInstance.EventHandlerCollection); return serializer.Serialize(); }
public byte[] Serialize(ActorInstanceLayer actorInstanceLayer) { actorInstanceLayer.ThrowIfNull("actorInstanceLayer"); var serializer = new CompactSerializer(); serializer[0] = actorInstanceLayer.BoardId.ToByteArray(); serializer[1] = SizeSerializer.Instance.Seralize(actorInstanceLayer.Size); var actorInstanceSerializer = new CompactSerializer(); int index = 0; foreach (ActorInstance actorInstance in actorInstanceLayer.ActorInstances) { actorInstanceSerializer[index++] = ActorInstanceSerializer.Instance.Serialize(actorInstance); } serializer[2] = actorInstanceSerializer.Serialize(); return serializer.Serialize(); }
public byte[] Serialize(SpriteLayer spriteLayer) { spriteLayer.ThrowIfNull("spriteLayer"); var serializer = new CompactSerializer(); serializer[0] = spriteLayer.BoardId.ToByteArray(); serializer[1] = SizeSerializer.Instance.Seralize(spriteLayer.Size); var spriteSerializer = new CompactSerializer(); int index = 0; foreach (Sprite sprite in spriteLayer.Sprites) { spriteSerializer[index++] = SpriteSerializer.Instance.Serialize(sprite); } serializer[2] = spriteSerializer.Serialize(); return serializer.Serialize(); }
public byte[] Serialize(MessageAnswer messageAnswer) { messageAnswer.ThrowIfNull("messageAnswer"); var serializer = new CompactSerializer(); serializer[0] = messageAnswer.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(messageAnswer.Text); var partSerializer = new CompactSerializer(); int index = 0; foreach (IMessagePart part in messageAnswer.Parts) { partSerializer[index++] = MessagePartSerializer.Instance.Serialize(part); } serializer[2] = partSerializer.Serialize(); serializer[3] = EventHandlerCollectionSerializer.Instance.Serialize(messageAnswer.EventHandlerCollection); return serializer.Serialize(); }
public byte[] Serialize(Message message) { message.ThrowIfNull("message"); var serializer = new CompactSerializer(); serializer[0] = message.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(message.Name); serializer[2] = Encoding.UTF8.GetBytes(message.Description); serializer[3] = ColorSerializer.Instance.Serialize(message.BackgroundColor); var partSerializer = new CompactSerializer(); int index = 0; foreach (IMessagePart part in message.Parts) { partSerializer[index++] = MessagePartSerializer.Instance.Serialize(part); } serializer[4] = partSerializer.Serialize(); return serializer.Serialize(); }
public byte[] Serializer(Board board) { board.ThrowIfNull("board"); var serializer = new CompactSerializer(); serializer[0] = board.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(board.Name); serializer[2] = Encoding.UTF8.GetBytes(board.Description); serializer[3] = SizeSerializer.Instance.Seralize(board.Size); serializer[4] = SpriteLayerSerializer.Instance.Serialize(board.BackgroundLayer); serializer[5] = SpriteLayerSerializer.Instance.Serialize(board.ForegroundLayer); serializer[6] = ActorInstanceLayerSerializer.Instance.Serialize(board.ActorInstanceLayer); var boardExitSerializer = new CompactSerializer(); int index = 0; foreach (BoardExit boardExit in board.Exits) { boardExitSerializer[index++] = BoardExitSerializer.Instance.Serialize(boardExit); } var timerSerializer = new CompactSerializer(); index = 0; foreach (Timer timer in board.Timers) { timerSerializer[index++] = TimerSerializer.Instance.Serialize(timer); } serializer[7] = boardExitSerializer.Serialize(); serializer[8] = timerSerializer.Serialize(); serializer[9] = EventHandlerCollectionSerializer.Instance.Serialize(board.EventHandlerCollection); return serializer.Serialize(); }
public byte[] Serialize(IMessagePart messagePart) { messagePart.ThrowIfNull("messagePart"); var serializer = new CompactSerializer(); var messageColor = messagePart as MessageColor; var messageLineBreak = messagePart as MessageLineBreak; var messageQuestion = messagePart as MessageQuestion; var messageText = messagePart as MessageText; if (messageColor != null) { serializer[0] = Encoding.UTF8.GetBytes("Color"); serializer[1] = MessageColorSerializer.Instance.Serialize(messageColor); } else if (messageLineBreak != null) { serializer[0] = Encoding.UTF8.GetBytes("LineBreak"); serializer[1] = MessageLineBreakSerializer.Instance.Serialize(messageLineBreak); } else if (messageQuestion != null) { serializer[0] = Encoding.UTF8.GetBytes("Question"); serializer[1] = MessageQuestionSerializer.Instance.Serialize(messageQuestion); } else if (messageText != null) { serializer[0] = Encoding.UTF8.GetBytes("Text"); serializer[1] = MessageTextSerializer.Instance.Serialize(messageText); } else { throw new ArgumentException(String.Format("Unknown message part type '{0}'.", messagePart.GetType().Name)); } return serializer.Serialize(); }
public byte[] Serialize(MessageQuestion messageQuestion) { messageQuestion.ThrowIfNull("messageQuestion"); var serializer = new CompactSerializer(); serializer[0] = Encoding.UTF8.GetBytes(messageQuestion.Prompt); serializer[1] = ColorSerializer.Instance.Serialize(messageQuestion.QuestionForegroundColor); serializer[2] = ColorSerializer.Instance.Serialize(messageQuestion.UnselectedAnswerForegroundColor); serializer[3] = ColorSerializer.Instance.Serialize(messageQuestion.SelectedAnswerForegroundColor); serializer[4] = ColorSerializer.Instance.Serialize(messageQuestion.SelectedAnswerBackgroundColor); var answerSerializer = new CompactSerializer(); int index = 0; foreach (MessageAnswer answer in messageQuestion.Answers) { answerSerializer[index++] = MessageAnswerSerializer.Instance.Serialize(answer); } serializer[5] = answerSerializer.Serialize(); return serializer.Serialize(); }
public byte[] Serialize(World world) { world.ThrowIfNull("world"); var serializer = new CompactSerializer(); serializer[0] = world.Id.ToByteArray(); serializer[1] = BitConverter.GetBytes(world.Version); serializer[2] = Encoding.UTF8.GetBytes(world.Title); serializer[3] = PlayerSerializer.Instance.Serialize(world.StartingPlayer); var boardSerializer = new CompactSerializer(); int boardIndex = 0; foreach (Board board in world.Boards) { boardSerializer[boardIndex++] = BoardSerializer.Instance.Serializer(board); } serializer[4] = boardSerializer.Serialize(); var actorSerializer = new CompactSerializer(); int actorIndex = 0; foreach (Actor actor in world.Actors) { actorSerializer[actorIndex++] = ActorSerializer.Instance.Serialize(actor); } serializer[5] = actorSerializer.Serialize(); var messageSerializer = new CompactSerializer(); int messageIndex = 0; foreach (Message message in world.Messages) { messageSerializer[messageIndex++] = MessageSerializer.Instance.Serialize(message); } serializer[6] = messageSerializer.Serialize(); var timerSerializer = new CompactSerializer(); int timerIndex = 0; foreach (Timer timer in world.Timers) { timerSerializer[timerIndex++] = TimerSerializer.Instance.Serialize(timer); } serializer[7] = timerSerializer.Serialize(); var soundEffectSerializer = new CompactSerializer(); int soundEffectIndex = 0; foreach (SoundEffect soundEffect in world.SoundEffects) { soundEffectSerializer[soundEffectIndex++] = SoundEffectSerializer.Instance.Serialize(soundEffect); } serializer[8] = soundEffectSerializer.Serialize(); var songSerializer = new CompactSerializer(); int songIndex = 0; foreach (Song song in world.Songs) { songSerializer[songIndex++] = SongSerializer.Instance.Serialize(song); } serializer[9] = songSerializer.Serialize(); return serializer.Serialize(); }