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);
        }
Ejemplo n.º 2
0
 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);
     }
 }