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 ByteObjectDecoder() { var decoder = new NetworkByteObject.ByteObjectDecoder(); for(byte i = 0; i < 10; i++) { var obj = new NetworkByteObject(ServerCommands.PolicyCardsDrawn, i); var bytes = decoder.GenerateByteStream(obj); var generated = decoder.GenerateObject(bytes, false) as NetworkByteObject; Assert.AreEqual(obj.Value, generated.Value); CompareDefaultObject(obj, generated); } }