IEnumerator loadSpriteFromAB(RecorderSprite sprite, UnityAction <Sprite, Material> callback) { if (!sprite || sprite.name.isNullOrEmpty()) { Debug.LogError("sprite is null"); yield break; } if (callback.isNull()) { Debug.LogError("callback is null"); yield break; } if (!preloadAssetBundles.isNullOrEmpty()) { foreach (var ab in preloadAssetBundles) { if (ab.name.Contains("common/atlas/")) { if (!atlass.Any(a => a.name == ab.name)) { yield return(StartCoroutine(loadAtlas(ab))); } if (loadSpriteFromAtlas(sprite, callback)) { yield break; } } } } Debug.LogError("啥子都没找到!!!请检查图集。图集名:" + sprite.atlas + " 图片名:" + sprite.name); callback(null, null); }
protected void getSprite(RecorderSprite sprite, UnityAction <Sprite, Material> callBack) { if (!sprite) { Debug.LogError("sprite is null"); return; } if (callBack.isNull()) { Debug.LogError("callback is null"); return; } UIResourceLoader.inst.loadSprite(sprite, callBack); }
public void loadSprite(RecorderSprite sprite, UnityAction <Sprite, Material> callback) { if (!sprite || sprite.name.isNullOrEmpty()) { Debug.LogError("sprite is null"); return; } if (callback.isNull()) { Debug.LogError("callback is null"); return; } if (!loadSpriteFromAtlas(sprite, callback)) { StartCoroutine(loadSpriteFromAB(sprite, callback)); } }
bool loadSpriteFromAtlas(RecorderSprite sprite, UnityAction <Sprite, Material> callback) { if (!sprite || sprite.name.isNullOrEmpty()) { Debug.LogError("sprite is null"); return(false); } if (callback.isNull()) { Debug.LogError("callback is null"); return(false); } if (atlass.isNullOrEmpty()) { return(false); } var priorityAtlas = atlass.FirstOrDefault(a => a.name == sprite.atlas); if (priorityAtlas) { var s = priorityAtlas.getSprite(sprite.name); if (s) { callback(s, priorityAtlas.material); return(true); } } foreach (var atlas in atlass) { if (priorityAtlas && priorityAtlas.name == atlas.name) { continue; } var s = atlas.getSprite(sprite.name); if (s) { callback(s, atlas.material); return(true); } } return(false); }