using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.U2D; public class SpriteManager : Singleton { public AssetBundleManager assetBundle = new AssetBundleManager(); public AssetBundleManager assetBundleTexture = new AssetBundleManager(); #if false public Sprite SpriteGet(string atlas, string sprite) { SpriteAtlas spriteAtlas = assetBundle.GetSpriteAtlas(atlas); //Debug.LogWarning($"{atlas}, {sprite}"); if (spriteAtlas != null) return spriteAtlas.GetSprite(sprite); return null; } public Sprite TextureGet(string sprite) { return assetBundleTexture.GetTexture(sprite); } #else Dictionary dicAtlas = new Dictionary(); public Sprite SpriteGet(string nameAtlas, string nameSprite) { if (nameSprite == string.Empty) return null; if (dicAtlas.ContainsKey(nameAtlas)) { return dicAtlas[nameAtlas].GetSprite(nameSprite); } else { SpriteAtlas spriteAtlas = Resources.Load($"Atlas/{nameAtlas}") as SpriteAtlas; if (spriteAtlas != null) { dicAtlas.Add(nameAtlas, spriteAtlas); return spriteAtlas.GetSprite(nameSprite); } } return null; } Dictionary dicTexture = new Dictionary(); public Sprite SpriteGet(string nameSprite) { if (nameSprite == string.Empty) return null; if (dicTexture.ContainsKey(nameSprite)) { return dicTexture[nameSprite]; } else { Sprite texture = Resources.Load($"Texture/{nameSprite}"); if (texture != null) { dicTexture.Add(nameSprite, texture); return texture; } } return null; } #endif }