cun
This commit is contained in:
@@ -10,16 +10,38 @@ public class UserBaseInfo
|
||||
public Sprite avatarSprite;
|
||||
public IEnumerator DownSprite(System.Action<Sprite> action)
|
||||
{
|
||||
string url = avatarUrl;
|
||||
int downCount = 5;
|
||||
if (avatarSprite != null)
|
||||
{
|
||||
action?.Invoke(avatarSprite);
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(avatarUrl))
|
||||
{
|
||||
// 优先从 GameManager 头像缓存读取(兼容图集切片命名)
|
||||
avatarSprite = GameManager.Instance.GetAvatarSprite(avatarUrl);
|
||||
if (avatarSprite != null)
|
||||
{
|
||||
action?.Invoke(avatarSprite);
|
||||
yield break;
|
||||
}
|
||||
|
||||
// 回退:数字ID用 Resources.Load(单图PNG)
|
||||
if (int.TryParse(avatarUrl, out int id) && id > 0)
|
||||
{
|
||||
avatarSprite = Resources.Load<Sprite>($"Avatar/{id}");
|
||||
if (avatarSprite != null)
|
||||
{
|
||||
action?.Invoke(avatarSprite);
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 网络URL下载
|
||||
string url = avatarUrl;
|
||||
int downCount = 5;
|
||||
Texture2D avatarTexture2D = new Texture2D(100, 100);
|
||||
//if (avatarTexture2D == null)
|
||||
for (int i = 0; i < downCount; i++)
|
||||
{
|
||||
using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(url))
|
||||
@@ -30,29 +52,17 @@ public class UserBaseInfo
|
||||
{
|
||||
Debug.LogError("下载失败: " + www.error);
|
||||
downCount--;
|
||||
if (downCount == 0)
|
||||
{
|
||||
yield break;
|
||||
|
||||
//action.Invoke(Sprite.Create(new Texture2D(100, 100), new Rect(0, 0, 100, 100), new Vector2(0.5f, 0.5f)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (downCount == 0) yield break;
|
||||
}
|
||||
else
|
||||
{
|
||||
avatarTexture2D = DownloadHandlerTexture.GetContent(www);
|
||||
avatarSprite = Sprite.Create(avatarTexture2D, new Rect(0, 0, avatarTexture2D.width, avatarTexture2D.height), new Vector2(0.5f, 0.5f));
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
action?.Invoke(avatarSprite);
|
||||
|
||||
}
|
||||
public void UpdateAvatar(System.Action<Sprite> action)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user