package sprite import ( "log" ) var ( spriteCache map[string]*spritesheet ) func InitSpriteCache() { spriteCache = make(map[string]*spritesheet) for _, filename := range SpriteFileList { s := NewSprite(filename) spriteCache[filename] = s } } func GetSpritesheet(filename string) *spritesheet { s, exists := spriteCache[filename] if !exists { log.Printf("no sprite found for %v", filename) } return s } func CleanupSpriteCache() { for _, v := range spriteCache { defer v.Cleanup() } }