public override void WriteObject(AMFObject value)
{
var index = ObjectIndex(value);
if (index.HasValue) {
WriteReference(index.Value);
return;
}
if (String.IsNullOrEmpty(value.Class.Name)) {
WriteMarker(AMF0Marker.Object);
WriteProperties(value.Data);
}
else {
WriteMarker(AMF0Marker.TypedObject);
WriteStringValue(value.Class.Name);
WriteProperties(value.Data);
}
}