Lidgren.Network.NetIncomingMessage.ReadTime C# (CSharp) Method

ReadTime() public method

Reads a value, in local time comparable to NetTime.Now, written using WriteTime() Must have a connected sender
public ReadTime ( bool highPrecision ) : double
highPrecision bool
return double
        public double ReadTime(bool highPrecision)
        {
            double remoteTime = (highPrecision ? ReadDouble() : (double)ReadSingle());

            if (m_senderConnection == null)
                throw new NetException("Cannot call ReadTime() on message without a connected sender (ie. unconnected messages)");

            // lets bypass NetConnection.GetLocalTime for speed
            return remoteTime - m_senderConnection.m_remoteTimeOffset;
        }

Usage Example

コード例 #1
0
 // TODO: Merge opcodes for move direction, something like that: Move(LookDirection)
 void DataProcessing(NetIncomingMessage message, ref Client client)
 {
     switch (message.ReadByte())
     {
         case (byte)MessageType.ClientMessage.NeedMap:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Need map ! Let's give it to him :)");
             ReceiveNeedMap(client);
             break;
         case (byte)MessageType.ClientMessage.MapSelection:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Has selected a map to play ! :)");
             ReceiveMapSelection(client, message.ReadString());
             break;
         case (byte)MessageType.ClientMessage.Credentials:
             ReceiveCredentials(client, message.ReadString(), message.ReadString());
             break;
         case (byte)MessageType.ClientMessage.Ready:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Ready message !");
             ReceiveReady(client, message.ReadBoolean());
             break;
         case (byte)MessageType.ClientMessage.WantToStartGame:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] WantToStartGame message !");
             ReceiveWantToStartGame();
             break;
         case (byte)MessageType.ClientMessage.HasMap:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] HasMap message !");
             ReceiveHasMap(client);
             break;
         case (byte)MessageType.ClientMessage.MoveDown:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to move down !");
             ReceiveMovePlayer(client, LookDirection.Down);
             break;
         case (byte)MessageType.ClientMessage.MoveLeft:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to move left !");
             ReceiveMovePlayer(client, LookDirection.Left);
             break;
         case (byte)MessageType.ClientMessage.MoveRight:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to move right !");
             ReceiveMovePlayer(client, LookDirection.Right);
             break;
         case (byte)MessageType.ClientMessage.MoveUp:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to move up !");
             ReceiveMovePlayer(client, LookDirection.Up);
             break;
         case (byte)MessageType.ClientMessage.Standing:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to stay here !");
             ReceiveMovePlayer(client, LookDirection.Idle, message.ReadTime(client.ClientConnection, true));
             break;
         case (byte)MessageType.ClientMessage.PlaceBomb:
             Program.Log.Info("[RECEIVE][Client #" + client.ClientId + "] Want to place bomb !");
             ReceiveBombPlacing(client);
             break;
     }
 }
All Usage Examples Of Lidgren.Network.NetIncomingMessage::ReadTime