using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; public class SpriteUtility : MonoBehaviour { #region Config public string Path; public string Name; public Sprite Sprite; #endregion public static Mesh CreateMesh(Sprite sprite) { Mesh mesh = new Mesh(); List vertices = new List(); List triangles = new List(); foreach (var vertex in sprite.vertices) { vertices.Add(vertex); } foreach (var triangle in sprite.triangles) { triangles.Add(triangle); } mesh.vertices = vertices.ToArray(); mesh.triangles = triangles.ToArray(); mesh.uv = sprite.uv; mesh.colors = Enumerable.Repeat(Color.white, mesh.vertices.Length).ToArray(); return mesh; } public static Mesh CreateMesh(Sprite sprite, Color color) { Mesh mesh = new Mesh(); List vertices = new List(); List triangles = new List(); foreach (var vertex in sprite.vertices) { vertices.Add(vertex); } foreach (var triangle in sprite.triangles) { triangles.Add(triangle); } mesh.vertices = vertices.ToArray(); mesh.triangles = triangles.ToArray(); mesh.uv = sprite.uv; mesh.colors = Enumerable.Repeat(color, mesh.vertices.Length).ToArray(); return mesh; } }