示例#1
0
 public static Packet ReadPacket(Stream stream)
 {
     var packetType = stream.ReadByte();
     Packet packet = null;
     switch (packetType)
     {
         case 1:
             packet = new QueueInteractionPacket();
             packet.ReadPacketData(stream);
             return packet;
         case 2:
             packet = new QueueStatusUpdatePacket();
             packet.ReadPacketData(stream);
             return packet;
         case 3:
             packet = new QueueFinishedPacket();
             packet.ReadPacketData(stream);
             return packet;
         case 4:
             packet = new GameServerConnectPacket();
             packet.ReadPacketData(stream);
             return packet;
         case 7:
             packet = new GameStatePacket();
             return packet;
         case 8:
             packet = new InputPacket();
             packet.ReadPacketData(stream);
             return packet;
         default:
             throw new Exception("Unrecognized Packet Type");
     }
 }
 private void UpdateFromClientGamepad(InputPacket input)
 {
     //update position based on client input
     Input playerInput = new Input()
     {
         A = input.A,
         B = input.B,
         X = input.X,
         Y = input.Y,
         RightAnalog = input.RightAnalog,
         LeftAnalog = input.LeftAnalog,
         Start = input.Start,
         down = input.Down,
         up = input.Up,
         left = input.Left,
         right = input.Right,
         downC = input.DownC,
         upC = input.UpC,
         rightC = input.RightC,
         leftC = input.LeftC,
         RightTrigger = input.RightTrigger,
         LeftTrigger = input.LeftTrigger,
     };
     playerInputs.Add(new Tuple<int, Input>(input.playerNum, playerInput));
 }