Esempio n. 1
0
 public void OnDestroy()
 {
     if (gradient_has_been_edited)
     {
         if (data.preview_texture.GetType() == typeof(Texture2D))
         {
             string  file_name = GradientFileName(data.gradient, prop.targets[0].name);
             Texture saved     = TextureHelper.SaveTextureAsPNG((Texture2D)data.preview_texture, PATH.TEXTURES_DIR + "/Gradients/" + file_name, textureSettings);
             file_name = Regex.Replace(file_name, @"\.((png)|(jpg))$", "");
             FileHelper.SaveValueToFile(AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(saved)), Parser.ObjectToString(data.gradient), PATH.GRADIENT_INFO_FILE);
             prop.textureValue = saved;
         }
     }
     else
     {
         UpdatePreviewTexture(privious_preview_texture);
     }
 }
Esempio n. 2
0
        private static Texture2D OverrideTextureWithColor(Texture2D ogtex, Color color)
        {
            Texture2D tex = TextureHelper.GetReadableTexture(ogtex);

            for (int x = 0; x < tex.width; x++)
            {
                for (int y = 0; y < tex.height; y++)
                {
                    Color oColor = tex.GetPixel(x, y);
                    if (oColor.a == 0f)
                    {
                        continue;
                    }
                    tex.SetPixel(x, y, color);
                }
            }
            tex.Apply();
            return(tex);
        }
Esempio n. 3
0
        public static Texture2DArray Testure2DListToTexture2DArray(List <Texture2D> list, string path)
        {
            int[]          size  = new int[] { list[0].width, list[0].height };
            Texture2DArray array = new Texture2DArray(size[0], size[1], list.Count, list[0].format, true);
            int            i     = 0;

            foreach (Texture2D texture in list)
            {
                Texture2D resized_texture = texture;
                if (texture.width != size[0] || texture.height != size[1])
                {
                    resized_texture = TextureHelper.Resize(texture, size[0], size[1]);
                }
                array.SetPixels(resized_texture.GetPixels(), i++);
            }
            array.Apply();
            path = path.Remove(path.LastIndexOf('/')) + "/" + AssetDatabase.LoadAssetAtPath <Texture>(path).name + "_Texture2DArray.asset";
            AssetDatabase.CreateAsset(array, path);
            return(array);
        }
Esempio n. 4
0
        //--End--Gradient

        public static Texture2DArray PathsToTexture2DArray(string[] paths)
        {
            if (paths[0].EndsWith(".gif"))
            {
                return(Converter.GifToTextureArray(paths[0]));
            }
            else
            {
                List <Texture2D> textures = new List <Texture2D>();
                foreach (string p in paths)
                {
                    if (AssetDatabase.GetMainAssetTypeAtPath(p).IsSubclassOf(typeof(Texture)))
                    {
                        textures.Add(TextureHelper.GetReadableTexture(AssetDatabase.LoadAssetAtPath <Texture>(p)));
                    }
                }
                if (textures.Count > 0)
                {
                    return(Converter.Testure2DListToTexture2DArray(textures, paths[0]));
                }
            }
            return(null);
        }
Esempio n. 5
0
 private static Texture2D Gradient_Resize(Texture2D texture)
 {
     return(TextureHelper.Resize(texture, 512, 512));
 }