public override object Revert(BinaryReader reader)
{
var type = reader.ReadByte();
if (type == 0)
{
return(DeserializeUnityAsset(typeof(Sprite), reader));
}
if (type == 1)
{
Texture2D texture = null;
var rect = default(Rect);
var pivot = default(Vector2);
var pixelsPerUnit = 100f;
var border = default(Vector4);
Deserialize(reader, ret => texture = (Texture2D)ret);
Deserialize(reader, ret => rect = (Rect)ret);
Deserialize(reader, ret => pivot = (Vector2)ret);
pixelsPerUnit = reader.ReadSingle();
Deserialize(reader, ret => border = (Vector4)ret);
return(Sprite.Create(texture, rect, pivot, pixelsPerUnit, 0, SpriteMeshType.Tight, border));
}
throw new NotSupportedException("Invalid type: " + type);
}