private static void DoTest <T>(T obj) { var serializer = new fsSerializer(); var processor1 = new OrderedProcessor(); var processor2 = new OrderedProcessor(); serializer.AddProcessor(processor1); serializer.AddProcessor(processor2); int id = 0; fsData data; OrderedProcessor.NextId = 0; serializer.TrySerialize(obj, out data).AssertSuccessWithoutWarnings(); Assert.AreEqual(++id, processor1.onBeforeSerialize); Assert.AreEqual(++id, processor2.onBeforeSerialize); Assert.AreEqual(++id, processor2.onAfterSerialize); Assert.AreEqual(++id, processor1.onAfterSerialize); id = 0; var deserialized = default(T); OrderedProcessor.NextId = 0; serializer.TryDeserialize(data, ref deserialized).AssertSuccessWithoutWarnings(); Assert.AreEqual(++id, processor1.onBeforeDeserialize); Assert.AreEqual(++id, processor2.onBeforeDeserialize); Assert.AreEqual(++id, processor2.onAfterDeserialize); Assert.AreEqual(++id, processor1.onAfterDeserialize); }
static FullSerializerSerializer() { _serializer = new fsSerializer(); _serializer.AddConverter(new UnityObjectConverter()); #if !UNITY_4_3 _serializer.AddProcessor(new SerializationCallbackReceiverObjectProcessor()); #endif }
/// <summary> /// Register the given processor for usage in the serializer. /// </summary> public static void AddProcessor(fsObjectProcessor processor) { _serializer.AddProcessor(processor); }