public virtual void Serialize(BasicWriter writer) { if (UseAutoSerialization) { writer.SetAutoSerializable(this); } }
public void Serialize(BasicWriter writer) { writer .SetInt(Id) .SetString(Title) .SetString(Details) .SetLong(Time.Ticks) .SetInt(ColorTranslator.ToWin32(Color)) .SetBool(RepeatDaily); }
private void SaveDb() { using (BasicWriter writer = new BasicWriter()) { writer .SetInt(_dataDict.Count) .SetSerializableObjects(_dataDict.Values); File.WriteAllBytes(_dbPath, writer.ToArray()); } }
/// <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()); } }
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"); }