From 13963ec875ccd1c84214faea3849a735b2b08e3d Mon Sep 17 00:00:00 2001 From: AgentFire Date: Sat, 21 Nov 2015 13:41:17 +0300 Subject: [PATCH] Added a 64-bit version of ReadRangedInteger. `public long ReadRangedInteger(long min, long max)` is now available for reads of LONG values. --- Lidgren.Network/NetBuffer.Read.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Lidgren.Network/NetBuffer.Read.cs b/Lidgren.Network/NetBuffer.Read.cs index 4a636a0..a49b385 100644 --- a/Lidgren.Network/NetBuffer.Read.cs +++ b/Lidgren.Network/NetBuffer.Read.cs @@ -548,6 +548,21 @@ namespace Lidgren.Network return (int)(min + rvalue); } + /// + /// Reads a 64 bit integer value written using WriteRangedInteger() (64 version) + /// + /// The minimum value used when writing the value + /// The maximum value used when writing the value + /// A signed integer value larger or equal to MIN and smaller or equal to MAX + public long ReadRangedInteger(long min, long max) + { + ulong range = (ulong)(max - min); + int numBits = NetUtility.BitsToHoldUInt64(range); + + ulong rvalue = ReadUInt64(numBits); + return min + (long)rvalue; + } + /// /// Reads a string written using Write(string) ///