Пример #1
0
 private void LinearInterpolateUpdateToState(GameStatePacket statePacket1, GameStatePacket statePacket2, long targetSequence)
 {
     float weight = (targetSequence - statePacket1.Sequence) / (statePacket2.Sequence - statePacket1.Sequence);
     for (int i = 0; i < smackers.Count(); i++)
     {
         smackers[i].EnumeratedState = statePacket2.Smackers[i].Item2;
         smackers[i].Position = Vector2.Lerp(statePacket1.Smackers[i].Item3, statePacket2.Smackers[i].Item3, weight);
     }
 }
Пример #2
0
 private void UpdateToState(GameStatePacket statePacket)
 {
     for (int i = 0, len = smackers.Count(); i < len; i++)
     {
         if(smackers[i].smackerID == statePacket.Smackers[i].Item1)
         {
             smackers[i].EnumeratedState = statePacket.Smackers[i].Item2;
             smackers[i].Position = statePacket.Smackers[i].Item3;
         }
         else
         {
             Console.WriteLine("Network ordering error.");
         }
     }
 }
Пример #3
0
 public static Packet ReadPacket(Stream stream)
 {
     var packetType = stream.ReadByte();
     Packet packet = null;
     if (packetType == 1)
     {
         packet = new QueueInteractionPacket();
     }
     if (packetType == 2)
     {
         packet = new QueueStatusUpdatePacket();
     }
     if (packetType == 3)
     {
         packet = new QueueFinishedPacket();
     }
     if (packetType == 4)
     {
         packet = new GameServerConnectPacket();
     }
     if (packetType == 5)
     {
         packet = new GameServerAcceptedJoinPacket();
     }
     if (packetType == 6)
     {
         packet = new GameServerFinishedPacket();
     }
     if(packetType == 7)
     {
         packet = new GameStatePacket();
     }
     packet.ReadPacketData(stream);
     return packet;
 }