Ejemplo n.º 1
0
 public byte[] ToRaw()
 {
     byte[] b = BitConverter.GetBytes(Major);
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Minor));
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Build));
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Revision));
     return(b);
 }
Ejemplo n.º 2
0
 public long ToInteger()
 {
     byte[] b = BitConverter.GetBytes(Major);
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Minor));
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Build));
     b = BinaryUtil.Append(b, BitConverter.GetBytes(Revision));
     return(BitConverter.ToInt64(b, 0));
 }
Ejemplo n.º 3
0
        bool WriteSections()
        {
            // SORT
            GameData[] schunks = Chunks.ToArray();
            GameData[] skeys   = Keys.ToArray();
            SortData(schunks);
            SortData(skeys);
            // Last Chunk
            string json = JsonConvert.SerializeObject(LastChunkInfo);

            Writer.Write(StringToSection(json, SectionType.ChunkInfo), false);

            // Meta Data
            json = JsonConvert.SerializeObject(MetaData);
            Writer.Write(StringToSection(json, SectionType.MetaData), false);


            // End of Game Stats
            if (GameStats != null)
            {
                Writer.Write(RawToSection(GameStatsRaw, SectionType.EndOfGameStats), false);
            }


            // Informations
            byte[] sum = Encoding.UTF8.GetBytes(SummonerName);
            Writer.Write(RawToSection(BinaryUtil.Append(new byte[2] {
                PlayerInfos.Map, PlayerInfos.Queue
            }, sum, 2, sum.Length), SectionType.Informations), false);

            //// Chunks
            List <RawEntry24> ent = new List <RawEntry24>();

            foreach (GameData c in schunks)
            {
                ent.Add(new RawEntry24(c));
            }

            Writer.Write(new ReplaySection(ent, SectionType.Chunks), false);

            // Keys
            ent.Clear();
            foreach (GameData k in skeys)
            {
                ent.Add(new RawEntry24(k));
            }

            // FINAL SECTION FOR COMPUTE HASH
            Writer.Write(new ReplaySection(ent, SectionType.Keys), true);



            //   Writer.WriteByte(65);
            return(true);
        }
Ejemplo n.º 4
0
        public byte[] ToRaw()
        {
            byte[] data = BitConverter.GetBytes(ClientVersion.ToInteger());
            data = BinaryUtil.Append(data, ServerVersion.ToRaw());
            data = BinaryUtil.Append(data, ObserverKey.ToRaw());
            if (Signature.Data != null && Certificate.Data != null)
            {
                data = BinaryUtil.Append(data, Signature.ToRaw());
                data = BinaryUtil.Append(data, Certificate.ToRaw());
            }


            return(data);
        }
Ejemplo n.º 5
0
        public ReplaySection(List <RawEntry24> rawlist, SectionType dt)
        {
            Type = dt;
            Data = null;
            foreach (RawEntry24 r in rawlist)
            {
                if (Data == null)
                {
                    Data = r.ToData();
                }

                else
                {
                    Data = BinaryUtil.Append(Data, r.ToData
                                                 ());
                }
            }

            Length = (uint)Data.Length;
        }
Ejemplo n.º 6
0
 public byte[] ToRaw()
 {
     return(BinaryUtil.Append(new byte[1] {
         _length
     }, _data));
 }
Ejemplo n.º 7
0
 public byte[] ToData()
 {
     return(BinaryUtil.Append(BitConverter.GetBytes(Length), Data));
 }
Ejemplo n.º 8
0
 public byte[] ToRaw()
 {
     return(BinaryUtil.Append(BitConverter.GetBytes(_length), _data));
 }