Пример #1
0
        internal void updateFromPacket(Packet packet)
        {
            BinaryMemoryReader reader = packet.Read();

            name  = reader.ReadStringNonNull();
            spawn = reader.ReadBoolean();
        }
        public unsafe void BooleanRead()
        {
            byte[] data;

            using (MemoryStream ms = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(ms))
                    for (int count = 0; count < 256; count++)
                    {
                        writer.Write(count % 2 == 0);
                    }

                data = ms.ToArray();
            }

            fixed(byte *pData = data)
            {
                BinaryMemoryReader reader = new BinaryMemoryReader(pData, data.Length);

                for (int count = 0; count < 256; count++)
                {
                    Assert.AreEqual(reader.ReadBoolean(), count % 2 == 0, "BinaryMemoryReader Boolean incompatible to BinaryWriter.");
                }
            }
        }
Пример #3
0
        internal Galaxy(Universe universe, Packet packet)
        {
            Universe = universe;

            ID = packet.SubAddress;

            BinaryMemoryReader reader = packet.Read();

            name  = reader.ReadStringNonNull();
            spawn = reader.ReadBoolean();
        }
Пример #4
0
        internal PlayerUnit(Universe universe, Galaxy galaxy, ref BinaryMemoryReader reader) : base(universe, galaxy, ref reader)
        {
            Direction = reader.ReadSingle();
            Engine    = reader.ReadSingle();
            Rotation  = reader.ReadSingle();
            Thruster  = reader.ReadSingle();

            if (reader.ReadBoolean())
            {
                BroadScanner = new Scanner(90, reader.ReadSingle());
            }
        }
Пример #5
0
        internal Player(Server server, Packet packet)
        {
            Server = server;

            id      = packet.BaseAddress;
            account = packet.ID;

            BinaryMemoryReader reader = packet.Read();

            name   = reader.ReadStringNonNull();
            online = reader.ReadBoolean();
            ping   = reader.ReadSingle();
        }
Пример #6
0
 internal void updateRegular(ref BinaryMemoryReader reader)
 {
     position                = new Vector(ref reader);
     movement                = new Vector(ref reader);
     hull                    = reader.ReadSingle();
     energy                  = reader.ReadSingle();
     direction               = reader.ReadSingle();
     rotation                = reader.ReadSingle();
     engine                  = reader.ReadSingle();
     thruster                = reader.ReadSingle();
     scannerBroadEnabled     = reader.ReadBoolean();
     scannerBroadDirection   = reader.ReadSingle();
     scannerBroadDestination = reader.ReadSingle();
 }
Пример #7
0
        internal Region(Universe universe, ref BinaryMemoryReader reader)
        {
            ID   = reader.ReadByte();
            Name = reader.ReadString();

            byte team = reader.ReadByte();

            if (team != 0xFF)
            {
                Team = universe.teams[team];
            }

            Left   = reader.ReadSingle();
            Top    = reader.ReadSingle();
            Right  = reader.ReadSingle();
            Bottom = reader.ReadSingle();
            Spawn  = reader.ReadBoolean();
        }
        public unsafe void BooleanLimits()
        {
            byte[] data;

            using (MemoryStream ms = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(ms))
                    writer.Write(true);

                data = ms.ToArray();
            }

            fixed(byte *pData = data)
            {
                BinaryMemoryReader reader = new BinaryMemoryReader(pData, data.Length - 1);

                try
                {
                    reader.ReadBoolean();

                    Assert.Fail("Should have thrown an OutOfMemoryException.");
                }
                catch (OutOfMemoryException) { }
                catch (Exception)
                {
                    Assert.Fail("Should have thrown an OutOfMemoryException.");
                }

                BinaryMemoryWriter writer = new BinaryMemoryWriter(pData, data.Length - 1);

                try
                {
                    writer.Write(true);

                    Assert.Fail("Should have thrown an OutOfMemoryException.");
                }
                catch (OutOfMemoryException) { }
                catch (Exception)
                {
                    Assert.Fail("Should have thrown an OutOfMemoryException.");
                }
            }
        }
 protected bool ReadBool(BinaryMemoryReader reader)
 {
     return reader.ReadBoolean();
 }