Beispiel #1
0
 public virtual void Serialize(BasicWriter writer)
 {
     if (UseAutoSerialization)
     {
         writer.SetAutoSerializable(this);
     }
 }
Beispiel #2
0
 public void Serialize(BasicWriter writer)
 {
     writer
     .SetInt(Id)
     .SetString(Title)
     .SetString(Details)
     .SetLong(Time.Ticks)
     .SetInt(ColorTranslator.ToWin32(Color))
     .SetBool(RepeatDaily);
 }
Beispiel #3
0
        private void SaveDb()
        {
            using (BasicWriter writer = new BasicWriter())
            {
                writer
                .SetInt(_dataDict.Count)
                .SetSerializableObjects(_dataDict.Values);

                File.WriteAllBytes(_dbPath, writer.ToArray());
            }
        }
Beispiel #4
0
        /// <summary>
        /// Occurs when a <see cref="NetworkMessage"/> is requested to be written before being sent.
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public override byte[] OnSerializeMessage(NetworkMessage message)
        {
            using (var writer = new BasicWriter())
            {
                writer
                .SetUShort(message.MessageId)
                .SetEmpty(sizeof(long));

                var cPos = writer.GetPosition();

                message.Serialize(writer);

                writer
                .SetPosition(cPos - sizeof(long))
                .SetLong(writer.TotalLength - cPos);

                return(writer.ToArrayAndDispose());
            }
        }
Beispiel #5
0
    public static void ByteForByteWrite()
    {
        var watch = System.Diagnostics.Stopwatch.StartNew();

        for (int loop = 0; loop < LOOP; ++loop)
        {
            BasicWriter.Reset();
            for (int i = 0; i < BYTE_CNT; ++i)
            {
                BasicWriter.BasicWrite(buffer, 255);
            }

            BasicWriter.Reset();
            for (int i = 0; i < BYTE_CNT; ++i)
            {
                byte b = BasicWriter.BasicRead(buffer);
            }
        }

        watch.Stop();

        Debug.Log("Byte For Byte: time=" + watch.ElapsedMilliseconds + " ms");
    }