public static Sprite LoadSprite(int index) { Sprite s; if (IndexOfSprites.TryGetValue(index, out s)) { return(s); } UndertaleResources.Sprite raw = UndertaleResources.UndertaleResrouce.Sprites[index]; return(CacheSprite(raw)); }
static Sprite CacheSprite(UndertaleResources.Sprite sprite) { Sprite s = new Sprite(); s.Name = sprite.Name; s.Index = sprite.Index; s.Frames = new Frame[sprite.Frames.Length]; for (int i = 0; i < sprite.Frames.Length; i++) { s.Frames[i] = CreateFrameFromFrame(sprite.Frames[i]); } SpriteMap.Add(s.Name, s); IndexOfSprites.Add(s.Index, s); return(s); }