public static void LoadImagesFromResources(string path, ref List <SpriteInfo> newSprites) { string[] imagesFiles = FileUtils.GetAllFilesEmbeddedAtFolder(path, ".png"); TextureAtlasUtils.ParseBorderDescriptors(KlyteResourceLoader.LoadResourceStringLines($"{path}.{BORDER_FILENAME}"), out Dictionary <string, Tuple <RectOffset, bool> > borderDescriptor); foreach (string file in imagesFiles) { Texture2D tex = KlyteResourceLoader.LoadTexture($"{path}.{file}"); if (tex != null) { newSprites.AddRange(TextureAtlasUtils.CreateSpriteInfo(borderDescriptor, file, tex)); } } }
public static void ParseImageIntoDefaultTextureAtlas(Type enumType, string resourceName, int width, int height, ref List <SpriteInfo> sprites) { Array spriteValues = Enum.GetValues(enumType); Texture2D image = KlyteResourceLoader.LoadTexture(resourceName); for (int i = 0; i < spriteValues.Length && i * width < image.width; i++) { var textureQuad = new Texture2D(width, height, TextureFormat.RGBA32, false); textureQuad.SetPixels(image.GetPixels(i * width, 0, width, height)); sprites.Add(new SpriteInfo() { texture = textureQuad, name = KlyteResourceLoader.GetDefaultSpriteNameFor(spriteValues.GetValue(i) as Enum) }); } }