public override IEnumerable <object> Save(Material target)
 {
     if (target.GetInstanceID() >= 0)
     {
         return(new object[] { true, SaveGameManager.GetAssetId(target) });
     }
     else
     {
         return(new object [] { false, target.shader.name, target.name, target.renderQueue, SerializeRenderer.Store.GetValues(target) });
     }
 }
    public override IEnumerable <object> Save(object target)
    {
        var id = SaveGameManager.GetAssetId(target);

        if (id.index == -1)
        {
            return(new object[] { true, target.GetType().AssemblyQualifiedName, UnitySerializer.SerializeForDeserializeInto(target) });
        }
        else
        {
            return(new object[] { false, id });
        }
    }
    public override bool CanBeSerialized(Type targetType, object instance)
    {
        var obj = instance as Texture2D;

        if (!obj)
        {
            return(false);
        }
        if (obj.GetInstanceID() < 0 || SaveGameManager.GetAssetId(instance).index != -1)
        {
            return(true);
        }
        return(false);
    }
 public override IEnumerable <object> Save(Texture2D target)
 {
     if (target.GetInstanceID() >= 0)
     {
         return(new object[] { true, SaveGameManager.GetAssetId(target) });
     }
     else
     {
         return(new object [] {
             false,
             target.anisoLevel,
             target.filterMode,
             target.format,
             target.height,
             target.mipMapBias,
             target.mipmapCount,
             target.name,
             target.texelSize,
             target.width,
             target.wrapMode,
             target.GetPixels32()
         });
     }
 }
 public override bool CanBeSerialized(Type targetType, object instance)
 {
     return(instance == null || SaveGameManager.GetAssetId(instance).index != -1);
 }
 public override IEnumerable <object> Save(object target)
 {
     return(new object [] { SaveGameManager.GetAssetId(target) });
 }
    public override bool CanBeSerialized(Type targetType, object instance)
    {
        var obj = instance as Material;

        if (!obj)
        {
            return(false);
        }
        if ((Shader.Find(obj.shader.name) != null && obj.GetInstanceID() < 0 && SerializeRenderer.Store != null) || SaveGameManager.GetAssetId(instance).index != -1)
        {
            return(true);
        }
        return(false);
    }