当前位置: 首页>>代码示例>>C#>>正文


C# Network.BigEndianStream类代码示例

本文整理汇总了C#中Pdelvo.Minecraft.Network.BigEndianStream的典型用法代码示例。如果您正苦于以下问题:C# BigEndianStream类的具体用法?C# BigEndianStream怎么用?C# BigEndianStream使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BigEndianStream类属于Pdelvo.Minecraft.Network命名空间,在下文中一共展示了BigEndianStream类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OnSend

        /// <summary>
        /// Sends the specified writer.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="version">The version.</param>
        /// <remarks></remarks>
        protected override void OnSend(BigEndianStream writer, int version)
        {
            if (writer == null)
                throw new System.ArgumentNullException("writer");
            writer.Write(Code);
            if (version >= 32)
                return;
            if (ProtocolVersion != 0)
                version = ProtocolVersion;
#pragma warning restore 618
            writer.Write(version);
            writer.Write(UserName);
            //Not used
            if (version <= 27)
                writer.Write((long) 0);
            if (version >= 23 && version <= 30)
                writer.Write(Unknown);

            writer.Write(0);
            if (version >= 27)
                writer.Write(0);
            else
                writer.Write((byte) 0);
            writer.Write((Byte) 0);
            writer.Write((byte) 0);
            writer.Write((byte) 0);
        }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:33,代码来源:LogOnRequest.cs

示例2: OnReceive

        /// <summary>
        ///   Receives the specified reader.
        /// </summary>
        /// <param name="reader"> The reader. </param>
        /// <param name="version"> The version. </param>
        /// <remarks>
        /// </remarks>
        protected override void OnReceive(BigEndianStream reader, int version)
        {
            if (reader == null)
                throw new ArgumentNullException("reader");

            UserType = reader.ReadByte ();
        }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:14,代码来源:UpdateUserType.cs

示例3: OnReceive

        /// <summary>
        ///   Receives the specified reader.
        /// </summary>
        /// <param name="reader"> The reader. </param>
        /// <param name="version"> The version. </param>
        /// <remarks>
        /// </remarks>
        protected override void OnReceive(BigEndianStream reader, int version)
        {
            if (reader == null)
                throw new ArgumentNullException("reader");

            TeamName = reader.ReadString16();
            Mode = reader.ReadByte();
            if (Mode == 2 || Mode == 0)
            {
                TeamDisplayName = reader.ReadString16();
                TeamPrefix = reader.ReadString16();
                TeamSufix = reader.ReadString16();
                if (version >= 60)
                    FriendlyFire = reader.ReadByte();
                else
                    FriendlyFire = (byte) (reader.ReadBoolean() ? 1 : 0);
            }
            if (Mode == 0 || Mode == 3 || Mode == 4)
            {
                PlayerCount = reader.ReadInt16();

                var collection = new List<string>();

                for (int i = 0; i < PlayerCount; i++)
                {
                    collection.Add(reader.ReadString16());
                }

                Players = collection.ToArray();
            }
        }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:38,代码来源:Teams.cs

示例4: StringTestAsync

        public async Task StringTestAsync()
        {
            MemoryStream memStream = new MemoryStream();
            BigEndianStream bigEndianStream = new BigEndianStream(memStream);

            string testString = "Hello, World!";

            await bigEndianStream.WriteAsync(testString);

            memStream.Seek(0, SeekOrigin.Begin);

            var result = await bigEndianStream.ReadString16Async();

            Assert.AreEqual(testString, result);

            Assert.AreEqual(memStream.Position, memStream.Length);


            memStream.SetLength(0);

            bigEndianStream.Write8(testString);

            memStream.Seek(0, SeekOrigin.Begin);

            result = await bigEndianStream.ReadString8Async();

            Assert.AreEqual(testString, result);

            Assert.AreEqual(memStream.Position, memStream.Length);
        }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:30,代码来源:BigEndianStreamTests.cs

示例5: OnSendAsync

 protected virtual Task OnSendAsync(BigEndianStream writer, int version)
 {
     return Task.Run(() =>
     {
         OnSend(writer, version);
     });
 }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:7,代码来源:Packet.cs

示例6: OnSend

        /// <summary>
        /// Sends the specified writer.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="version">The version.</param>
        /// <remarks></remarks>
        protected override void OnSend(BigEndianStream writer, int version)
        {
            if (writer == null)
                throw new ArgumentNullException("writer");
            writer.Write(Code);

            if (version >= 32)
            {
                byte d = 0;

                d |= (byte)((Flying ? 1 : 0) << 0);
                d |= (byte)((InstantBuild ? 1 : 0) << 1);
                d |= (byte)((MayFly ? 1 : 0) << 2);
                d |= (byte)((Invulnerable ? 1 : 0) << 3);
                writer.Write(d);
                writer.Write(FlyingSpeed);
                writer.Write(WalkSpeed);
            }
            else
            {
                writer.Write(Flying);
                writer.Write(InstantBuild);
                writer.Write(MayFly);
                writer.Write(Invulnerable);
            }
        }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:32,代码来源:AbilityPacket.cs

示例7: StringTest

        public void StringTest()
        {
            MemoryStream memStream = new MemoryStream();
            BigEndianStream bigEndianStream = new BigEndianStream(memStream);

            string testString = "Hello, World!";

            bigEndianStream.Write(testString);

            memStream.Seek(0, SeekOrigin.Begin);

            var result = bigEndianStream.ReadString16();

            Assert.AreEqual(testString, result);

            Assert.AreEqual(memStream.Position, memStream.Length);


            memStream.SetLength(0);

            bigEndianStream.Write8(testString);

            memStream.Seek(0, SeekOrigin.Begin);

            result = bigEndianStream.ReadString8();

            Assert.AreEqual(testString, result);

            Assert.AreEqual(memStream.Position, memStream.Length);
        }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:30,代码来源:BigEndianStreamTests.cs

示例8: OnReceive

 /// <summary>
 ///   Receives the specified reader.
 /// </summary>
 /// <param name="reader"> The reader. </param>
 /// <param name="version"> The version. </param>
 /// <remarks>
 /// </remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new ArgumentNullException("reader");
     Slot = reader.ReadInt16 ();
     Item = ItemStack.Read(reader);
 }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:14,代码来源:CreativeInventoryAction.cs

示例9: OnReceive

        /// <summary>
        /// Receives the specified reader.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <param name="version">The version.</param>
        /// <remarks></remarks>
        protected override void OnReceive(BigEndianStream reader, int version)
        {
            if (reader == null)
                throw new ArgumentNullException("reader");
            if (version >= 32)
            {
                byte dataByte = reader.ReadByte();
                Flying = (dataByte & 0x1) != 0;
                InstantBuild = (dataByte & 0x2) != 0;
                MayFly = (dataByte & 0x4) != 0;
                Invulnerable = (dataByte & 0x8) != 0;
                FlyingSpeed = reader.ReadByte();
                WalkSpeed = reader.ReadByte();
            }
            else
            {
                Flying = reader.ReadBoolean();
                InstantBuild = reader.ReadBoolean();
                MayFly = reader.ReadBoolean();
                Invulnerable = reader.ReadBoolean();

                FlyingSpeed = 15;
                WalkSpeed = 25;
            }
        }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:31,代码来源:AbilityPacket.cs

示例10: OnReceive

        /// <summary>
        ///   Receives the specified reader.
        /// </summary>
        /// <param name="reader"> The reader. </param>
        /// <param name="version"> The version. </param>
        /// <remarks>
        /// </remarks>
        protected override void OnReceive(BigEndianStream reader, int version)
        {
            if (reader == null)
                throw new ArgumentNullException("reader");
            if (version >= 32)
                return;
#pragma warning disable 618
            ProtocolVersion = reader.ReadInt32 ();
            UserName = reader.ReadString16 ();
            if (ProtocolVersion != 0)
                version = ProtocolVersion;
            //Not used
            if (version <= 27)
                reader.ReadInt64 ();
            if (version >= 23 && version <= 30)
                Unknown = reader.ReadString16 ();
            reader.ReadInt32 ();
            if (version >= 27)
                reader.ReadInt32 ();
            else
                reader.ReadByte ();
            reader.ReadByte ();
            reader.ReadByte ();
            reader.ReadByte ();
        }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:32,代码来源:LogOnRequest.cs

示例11: OnSend

 /// <summary>
 /// Sends the specified writer.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="version">The version.</param>
 /// <remarks></remarks>
 protected override void OnSend(BigEndianStream writer, int version)
 {
     if (writer == null)
         throw new ArgumentNullException("writer");
     if (version >= 38)
     {
         writer.Write(Code);
         writer.Write((byte)EntityIds.Count());
         foreach (var item in EntityIds)
         {
             writer.Write(item);
         }
     }
     else
     {
         if (EntityIds == null || EntityIds.Count() == 0)
         {
             writer.Write(Code);
             writer.Write(0);
         }
         else
         foreach (var item in EntityIds)
         {
             writer.Write(Code);
             writer.Write(item);
         }
     }
 }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:34,代码来源:EntityDestroy.cs

示例12: OnReceive

 /// <summary>
 /// Receives the specified reader.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <param name="version">The version.</param>
 /// <remarks></remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new System.ArgumentNullException("reader");
     EntityId = reader.ReadInt32();
     Name = reader.ReadString16();
     PositionX = reader.ReadInt32();
     PositionY = reader.ReadInt32();
     PositionZ = reader.ReadInt32();
     Rotation = reader.ReadByte();
     Pitch = reader.ReadByte();
     CurrentItem = reader.ReadInt16();
     if (version >= 38)
         MetaData = reader.ReadMetaData(version);
     else
     {
         MetaData = new MetadataInfo();
         MetaData.Data = new System.Collections.Generic.Dictionary<byte, object>
         {
             {17,(byte)0},
             {0,(byte)0},
             {16,(byte)0},
             {33,(short)300},
             {72,(int)0}
         };
     }
 }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:33,代码来源:NamedEntitySpawn.cs

示例13: OnReceive

 /// <summary>
 ///   Receives the specified reader.
 /// </summary>
 /// <param name="reader"> The reader. </param>
 /// <param name="version"> The version. </param>
 /// <remarks>
 /// </remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new ArgumentNullException("reader");
     EntityId = reader.ReadInt32 ();
     InnerData = MetadataInfo.Read(reader, version);
 }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:14,代码来源:EntityMetadata.cs

示例14: OnReceive

 /// <summary>
 ///   Receives the specified reader.
 /// </summary>
 /// <param name="reader"> The reader. </param>
 /// <param name="version"> The version. </param>
 /// <remarks>
 /// </remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new ArgumentNullException("reader");
     PositionX = reader.ReadDouble ();
     PositionY = reader.ReadDouble ();
     PositionZ = reader.ReadDouble ();
     Radius = reader.ReadSingle ();
     var records = new ExplosionRecord[RecordCount = reader.ReadInt32 ()];
     for (int i = 0; i < RecordCount; i++)
     {
         var record = new ExplosionRecord ();
         record.OffsetX = reader.ReadByte ();
         record.OffsetY = reader.ReadByte ();
         record.OffsetZ = reader.ReadByte ();
         records[i] = record;
     }
     Records = records;
     if (version >= 36)
     {
         VelocityX = reader.ReadSingle ();
         VelocityY = reader.ReadSingle ();
         VelocityZ = reader.ReadSingle ();
     }
 }
开发者ID:pdelvo,项目名称:Pdelvo.Minecraft,代码行数:32,代码来源:Explosion.cs

示例15: OnReceive

 /// <summary>
 /// Receives the specified reader.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <param name="version">The version.</param>
 /// <remarks></remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new System.ArgumentNullException("reader");
     Channel = reader.ReadString16();
     InternalData = reader.ReadBytes(reader.ReadInt16());
 }
开发者ID:splitice,项目名称:Pdelvo.Minecraft,代码行数:13,代码来源:PluginMessage.cs


注:本文中的Pdelvo.Minecraft.Network.BigEndianStream类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。