/// <summary> /// Primary UNSAFE Reader for PackedBytes. /// </summary> public unsafe static ulong ReadPackedBytes(ulong *uPtr, ref int bitposition, int bits) { if (bits == 0) { return(0); } int bytes = (bits + 7) >> 3; int sizebits = bytes.UsedBitCount(); int valuebits = (int)ArraySerializeUnsafe.Read(uPtr, ref bitposition, sizebits) << 3; return(ArraySerializeUnsafe.Read(uPtr, ref bitposition, valuebits)); }
/// <summary> /// Primary UNSAFE Reader for PackedBits. /// </summary> public unsafe static ulong ReadPackedBits(ulong *uPtr, ref int bitposition, int bits) { if (bits == 0) { return(0); } int sizebits = bits.UsedBitCount(); int valuebits = (int)ArraySerializeUnsafe.Read(uPtr, ref bitposition, sizebits); //UnityEngine.Debug.Log("Read Packedunsafe sizer/value : " + sizebits + " : " + valuebits); return(ArraySerializeUnsafe.Read(uPtr, ref bitposition, valuebits)); }