static DecodeNetworkObjects() { var messageDecoder = new NetworkMessageObject.MessageObjectReader(); var boolDecoder = new NetworkBoolObject.BoolObjectReader(); var newPlayerDecoder = new NetworkNewPlayerObject.NewPlayerObjectReader(); var cardDecoder = new NetworkCardObject.CardObjectReader(); var playerDecoder = new NetworkPlayerObject.PlayerObjectReader(); var byteDecoder = new NetworkByteObject.ByteObjectDecoder(); RegisterDecoder(Message, messageDecoder); RegisterDecoder(ReceiveMessage, messageDecoder); RegisterDecoder(PlayerConnected, newPlayerDecoder); RegisterDecoder(PlayerDisconnected, newPlayerDecoder); RegisterDecoder(AnnounceCard, cardDecoder); RegisterDecoder(SendGameState, new NetworkGameStateObject.GameStateObjectReader()); RegisterDecoder(RevealRole, new NetworkRevealRoleObject.RevealRoleObjectReader()); RegisterDecoder(Multiple, new NetworkMultipleObject.MultipleObjectReader()); RegisterDecoder(AnnouncePresident, playerDecoder); RegisterDecoder(AnnounceChancellor, playerDecoder); RegisterDecoder(CastVote, boolDecoder); RegisterDecoder(PlayerVoted, playerDecoder); RegisterDecoder(AnnounceVotes, new NetworkVoteResultObject.VoteResultObjectDecoder()); RegisterDecoder(PolicyCardsDrawn, byteDecoder); RegisterDecoder(PresidentPickPolicyCard, cardDecoder); RegisterDecoder(ChancellorPickPolicyCard, cardDecoder); RegisterDecoder(PresidentPolicyCardPicked, byteDecoder); RegisterDecoder(ChancellorPolicyCardPicked, byteDecoder); RegisterDecoder(CardPlayed, cardDecoder); RegisterDecoder(RevealMembership, newPlayerDecoder); RegisterDecoder(KillPlayer, playerDecoder); RegisterDecoder(NotHitler, playerDecoder); RegisterDecoder(PresidentRequestVetoAllowed, boolDecoder); RegisterDecoder(AnnounceVetoResult, boolDecoder); RegisterDecoder(PresidentAction, byteDecoder); RegisterDecoder(PresidentDoingAction, playerDecoder); RegisterDecoder(PresidentActionExamine, cardDecoder); //Other Actions are plain objects //Examine object is a plain object notifying the server the player is done RegisterDecoder(PresidentActionKillResponse, playerDecoder); RegisterDecoder(PresidentActionChoosePresidentResponse, playerDecoder); RegisterDecoder(PresidentActionInvestigatePresidentResponse, playerDecoder); }
public void NetworkMessageObject() { var messages = new string[,] { { "Hallo", "Sander" }, { "ükn³³‘rtï", "Stefan" }, { "1235", "Maikel"}, { "Hallo met spaties enzo!", "Cheeki Breeki" } }; var decoder = new NetworkMessageObject.MessageObjectReader(); for(var i = 0; i < messages.GetLength(0); i++) { var obj = new NetworkMessageObject(messages[i, 1], messages[i, 0]); var bytes = decoder.GenerateByteStream(obj); var generatedObj = decoder.GenerateObject(bytes, false); Assert.IsInstanceOfType(generatedObj, typeof(NetworkMessageObject)); var msgObj = generatedObj as NetworkMessageObject; Assert.AreEqual(msgObj.Username, obj.Username); Assert.AreEqual(msgObj.Message, obj.Message); CompareDefaultObject(obj, msgObj); } }