UISpriteLoad.cs 786 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. namespace Core.UI.UTool
  5. {
  6. public class UISpriteLoad : ISpriteLoad
  7. {
  8. public async void Load(string assetName, Action<UILoadSpriteHand> callBack)
  9. {
  10. AssetHandle assetHandle =
  11. await AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Sprite>(assetName + ".png");
  12. if (assetHandle != null)
  13. {
  14. Sprite sprite = assetHandle.GetSprite();
  15. if (sprite.texture == null)
  16. {
  17. Debug.LogError("没有主图片" + assetName);
  18. }
  19. callBack?.Invoke(assetHandle);
  20. }
  21. else
  22. {
  23. callBack?.Invoke(null);
  24. }
  25. }
  26. }
  27. }