Lidgren.Network.NetIncomingMessage.ReadInt32 C# (CSharp) Méthode

ReadInt32() public méthode

Reads a signed integer stored in 1 to 32 bits, written using Write(Int32, Int32)
public ReadInt32 ( int numberOfBits ) : Int32
numberOfBits int
Résultat System.Int32
        public Int32 ReadInt32(int numberOfBits)
        {
            NetException.Assert(numberOfBits > 0 && numberOfBits <= 32, "ReadInt32(bits) can only read between 1 and 32 bits");
            NetException.Assert(m_bitLength - m_readPosition >= numberOfBits, c_readOverflowError);

            uint retval = NetBitWriter.ReadUInt32(m_data, numberOfBits, m_readPosition);
            m_readPosition += numberOfBits;

            if (numberOfBits == 32)
                return (int)retval;

            int signBit = 1 << (numberOfBits - 1);
            if ((retval & signBit) == 0)
                return (int)retval; // positive

            // negative
            unchecked
            {
                uint mask = ((uint)-1) >> (33 - numberOfBits);
                uint tmp = (retval & mask) + 1;
                return -((int)tmp);
            }
        }

Same methods

NetIncomingMessage::ReadInt32 ( ) : Int32

Usage Example

 public void Decode(NetIncomingMessage im)
 {
     Shots = im.ReadInt32();
        Hits = im.ReadInt32();
        Misses = im.ReadInt32();
        ShipsKilled = im.ReadInt32();
 }
All Usage Examples Of Lidgren.Network.NetIncomingMessage::ReadInt32