示例#1
0
    // Deserialize object
    public void OnAfterDeserialize()
    {
        // If nothing was serialized into the byte array, exit out
        if (byteArray.Length == 0)
        {
            return;
        }

        // Deserialize
        var serializer = new BinaryFormatter();

        using (var stream = new MemoryStream(byteArray))
            unserializedObject = serializer.Deserialize(stream);

        // Check if surrogate and replace
        if (unserializedObject.GetType().GetInterfaces().Contains(typeof(ISerializationSurrogate)))
        {
            SurrogateHandler.GetOriginal(ref unserializedObject);
        }

        //Debug.Log("Deserialized Type: " + unserializedObject.GetType() + " | Value: " + unserializedObject.ToString());
    }