public bool WriteObject(object @object)
{
if (@object == null)
{
_writer.WriteByteZero();
return false;
}
if (_objectIdMap == null) _objectIdMap = new Dictionary<object, uint>();
uint cid;
if (_objectIdMap.TryGetValue(@object, out cid))
{
_writer.WriteVUInt32(cid);
return false;
}
_lastId++;
_objectIdMap.Add(@object, _lastId);
_writer.WriteVUInt32(_lastId);
return true;
}