當前位置: 首頁>>代碼示例>>C#>>正文


C# BigEndianStream類代碼示例

本文整理匯總了C#中BigEndianStream的典型用法代碼示例。如果您正苦於以下問題:C# BigEndianStream類的具體用法?C# BigEndianStream怎麽用?C# BigEndianStream使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


BigEndianStream類屬於命名空間,在下文中一共展示了BigEndianStream類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Write

 public override void Write(BigEndianStream stream)
 {
     stream.Write(EntityId);
     stream.Write(Type);
     stream.Write((int)(X * 32));
     stream.Write((int)(Y * 32));
     stream.Write((int)(Z * 32));
 }
開發者ID:dredge20,項目名稱:c-raft,代碼行數:8,代碼來源:Packet.cs

示例2: Read

 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Type = stream.ReadSByte();
     X = (double)stream.ReadInt() / 32.0d;
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
 }
開發者ID:dredge20,項目名稱:c-raft,代碼行數:8,代碼來源:Packet.cs

示例3: Read

 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Type = (ObjectType)stream.ReadSByte();
     X = (double)stream.ReadInt() / 32.0d; // ((double)intX / 32.0d) => representation of X as double
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
     UnknownFlag = stream.ReadInt();
     UnknownA = stream.ReadShort();
     UnknownB = stream.ReadShort();
     UnknownC = stream.ReadShort();
 }
開發者ID:Farkie,項目名稱:c-raft,代碼行數:12,代碼來源:Packet.cs

示例4: Write

        public override void Write(BigEndianStream stream)
        {
            stream.Write(X);
            stream.Write(Y);
            stream.Write(Z);
            stream.Write(SizeX);
            stream.Write(SizeY);
            stream.Write(SizeZ);

            int o = 16 * 16 * 128;
            byte[] data = new byte[o * 5 / 2];

            int i = 0;
            for (int x = 0; x < 16; x++)
            {
                for (int z = 0; z < 16; z++)
                {
                    for (int y = 0; y < 128; y++)
                    {
                        int s = ((i + 1) & 1) * 4;
                        int ofst = i;
                        data[ofst] = Chunk[x, y, z];
                        ofst = i / 2 + o * 2 / 2;
                        data[ofst] = unchecked((byte)(data[ofst] | (Chunk.GetData(x, y, z) << s)));
                        ofst = i / 2 + o * 3 / 2;
                        data[ofst] = unchecked((byte)(data[ofst] | (Chunk.GetBlockLight(x, y, z) << s)));
                        ofst = i / 2 + o * 4 / 2;
                        data[ofst] = unchecked((byte)(data[ofst] | (Chunk.GetSkyLight(x, y, z) << s)));
                        i++;
                    }
                }
            }

            byte[] comp = new byte[o * 5];
            int len;

            Deflater deflater = new Deflater(0);
            try
            {
                deflater.setInput(data);
                deflater.finish();
                len = deflater.deflate(comp);
            }
            finally
            {
                deflater.end();
            }

            stream.Write(len);
            stream.Write(comp, 0, len);
        }
開發者ID:Farkie,項目名稱:c-raft,代碼行數:51,代碼來源:MapChunkPacket.cs

示例5: Read

        public override void Read(BigEndianStream stream)
        {
            int posX = stream.ReadInt();
            short posY = stream.ReadShort();
            int posZ = stream.ReadInt();
            byte sizeX = (byte)(stream.ReadByte() + 1);
            byte sizeY = (byte)(stream.ReadByte() + 1);
            byte sizeZ = (byte)(stream.ReadByte() + 1);

            int o = sizeX * sizeY * sizeZ;
            Chunk = new Chunk(null, posX, posZ);

            int len = stream.ReadInt();
            byte[] comp = new byte[len];
            byte[] data = new byte[o * 5 / 2];
            len = stream.Read(comp, 0, len);
        }
開發者ID:Farkie,項目名稱:c-raft,代碼行數:17,代碼來源:MapChunkPacket.cs

示例6: Read

 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Yaw = stream.ReadSByte();
     Pitch = stream.ReadSByte();
 }
開發者ID:RevolutionSmythe,項目名稱:c-raft,代碼行數:6,代碼來源:Packet.cs

示例7: Write

 public override void Write(BigEndianStream stream)
 {
     stream.Write(EntityId);
     stream.Write(Slot);
     stream.Write(ItemId);
     stream.Write(Durability);
 }
開發者ID:RevolutionSmythe,項目名稱:c-raft,代碼行數:7,代碼來源:Packet.cs


注:本文中的BigEndianStream類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。