Beispiel #1
0
 private void EmitDocument(IEmitter emitter, object graph, Type type)
 {
     emitter.Emit(new StreamStart());
     emitter.Emit(new DocumentStart());
     valueSerializer.SerializeValue(emitter, graph, type);
     emitter.Emit(new DocumentEnd(true));
     emitter.Emit(new StreamEnd());
 }
Beispiel #2
0
        public static string SaveToString <T>(T value)
        {
            var stringBuilder = new StringBuilder();
            var writer        = new StringWriter(stringBuilder);
            var emitter       = new Emitter(writer);

            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());
            Serializer.SerializeValue(emitter, value, typeof(T));

            return(stringBuilder.ToString());
        }
        private void EmitDocument(IEmitter emitter, object graph, Type type)
        {
            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());

            IValueSerializer actualValueSerializer = backwardsCompatibleConfiguration ?? valueSerializer;

            actualValueSerializer.SerializeValue(emitter, graph, type);

            emitter.Emit(new DocumentEnd(true));
            emitter.Emit(new StreamEnd());
        }
Beispiel #4
0
        public void Serialize <T>(Emitter e, T obj)
        {
            switch (obj)
            {
            case Scene scene:
                SerializeScene(e, scene);
                break;

            case Entity entity:
                SerializeEntity(e, entity);
                break;

            case Camera cam:
                SerializeCamera(e, cam);
                break;

            case Texture tex:
                SerializeTexture(e, tex);
                break;

            case FramebufferAttachment fb:
                SerializeFramebufferAttachment(e, fb);
                break;

            case Vector2 vec2:
                SerializeVector2(e, vec2);
                break;

            case Vector3 vec3:
                SerializeVector3(e, vec3);
                break;

            case Vector4 vec4:
                SerializeVector4(e, vec4);
                break;

            default:
                _valueSerializer.SerializeValue(e, obj, obj.GetType());
                break;
            }
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteValue(m_Serializer.SerializeValue(value));
 }