Exemplo n.º 1
0
        public override void Read(BitReadBuffer buffer)
        {
            bool needsUpdate = buffer.ReadBoolean();

            if (needsUpdate)
            {
                m_frameTime = buffer.ReadFloat();
            }
        }
Exemplo n.º 2
0
        //////////////////////////////////////////////////////////////////////////////

        #region Commands

        private DemoCmd Read(BitReadBuffer buffer)
        {
            DemoCmdType cmdType = (DemoCmdType)buffer.ReadUInt32(BitsPerCmdType);
            DemoCmd     cmd     = FindCmd(cmdType);

            if (cmd == null)
            {
                throw new Exception("Unexpected command: " + cmdType);
            }
            cmd.Read(buffer);
            return(cmd);
        }
        public void TestReadWrite()
        {
            byte byteValue   = 32;
            int  numBitsByte = BitUtils.BitsToHoldUInt(byteValue);

            uint uintValue   = 123456;
            int  numBitsUInt = BitUtils.BitsToHoldUInt((uint)uintValue);

            BitWriteBuffer wb = new BitWriteBuffer();

            wb.Write(true);
            wb.Write(false);
            wb.Write(byteValue);
            wb.Write(byteValue, numBitsByte);
            wb.Write(uintValue);
            wb.Write(uintValue, numBitsUInt);

            byte[] data = wb.Data;
            using (Stream stream = File.OpenWrite("data.bin"))
            {
                using (BinaryWriter writer = new BinaryWriter(stream))
                {
                    writer.Write(wb.LengthBits);
                    writer.Write(wb.LengthBytes);
                    writer.Write(data, 0, wb.LengthBytes);
                }
            }

            BitReadBuffer rb = null;

            using (Stream stream = File.OpenRead("data.bin"))
            {
                using (BinaryReader reader = new BinaryReader(stream))
                {
                    int lenBits  = reader.ReadInt32();
                    int lenBytes = reader.ReadInt32();
                    data = new byte[lenBytes];
                    reader.Read(data, 0, lenBytes);

                    rb = new BitReadBuffer(data, lenBits);
                }
            }

            Assert.AreEqual(true, rb.ReadBoolean());
            Assert.AreEqual(false, rb.ReadBoolean());

            Assert.AreEqual(byteValue, rb.ReadByte());
            Assert.AreEqual(byteValue, rb.ReadByte(numBitsByte));

            Assert.AreEqual(uintValue, rb.ReadUInt32());
            Assert.AreEqual(uintValue, rb.ReadUInt32(numBitsUInt));
        }
Exemplo n.º 4
0
        private void ReadDemo(BinaryReader reader)
        {
            int bitLength = reader.ReadInt32();
            int length    = reader.ReadInt32();

            byte[] data      = new byte[length];
            int    bytesRead = reader.Read(data, 0, length);

            if (bytesRead != length)
            {
                throw new IOException("Wrong data size: " + bytesRead + " expected: " + length);
            }

            m_buffer = new BitReadBuffer(data, bitLength);
        }
Exemplo n.º 5
0
        private void ReadKeyEntries(BitReadBuffer buffer, List <KeyEntry> entries)
        {
            entries.Clear();

            bool hasKeys = buffer.ReadBoolean();

            if (hasKeys)
            {
                int count = buffer.ReadByte();;
                for (int i = 0; i < count; ++i)
                {
                    KeyState state          = (KeyState)buffer.ReadUInt32(BitsPerKeyState);
                    KeyCode  key            = (KeyCode)buffer.ReadUInt32(BitsPerKey);
                    int      playerIndex    = -1;
                    bool     hasPlayerIndex = buffer.ReadBoolean();
                    if (hasPlayerIndex)
                    {
                        playerIndex = (int)buffer.ReadUInt32(BitsPerPlayerIndex);
                    }

                    entries.Add(new KeyEntry(new KeyEventArg(key, playerIndex), state));
                }
            }
        }
Exemplo n.º 6
0
 public abstract void Read(BitReadBuffer buffer);
Exemplo n.º 7
0
 public override void Read(BitReadBuffer buffer)
 {
     ReadKeyEntries(buffer, m_keyEntries);
 }
Exemplo n.º 8
0
 public override void Read(BitReadBuffer buffer)
 {
     m_randSeed = buffer.ReadInt32();
 }