cun
This commit is contained in:
@@ -32,6 +32,9 @@ public class GameManager : MonoSingleton<GameManager>
|
||||
/// <summary>头像字典(name → sprite),从 Resources/Avatar 加载</summary>
|
||||
private Dictionary<string, Sprite> avatarSpriteDict = new Dictionary<string, Sprite>();
|
||||
|
||||
/// <summary>默认头像(新账号无头像时使用)</summary>
|
||||
private Sprite defaultAvatar;
|
||||
|
||||
/// <summary>触发头像更新事件</summary>
|
||||
public void TriggerAvatarChanged(Sprite sprite)
|
||||
{
|
||||
@@ -74,10 +77,25 @@ public class GameManager : MonoSingleton<GameManager>
|
||||
public Sprite GetAvatarSprite(string avatarName)
|
||||
{
|
||||
if (avatarSpriteDict.Count == 0) InitAvatarCache();
|
||||
avatarSpriteDict.TryGetValue(avatarName, out var sprite);
|
||||
if (string.IsNullOrEmpty(avatarName) || !avatarSpriteDict.TryGetValue(avatarName, out var sprite))
|
||||
sprite = GetDefaultAvatar();
|
||||
return sprite;
|
||||
}
|
||||
|
||||
private Sprite GetDefaultAvatar()
|
||||
{
|
||||
if (defaultAvatar == null && avatarSpriteDict.Count > 0)
|
||||
{
|
||||
// 取缓存中第一个头像作为默认
|
||||
foreach (var kv in avatarSpriteDict)
|
||||
{
|
||||
defaultAvatar = kv.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return defaultAvatar;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更换头像:上传服务端 → 更新本地 → 触发全局刷新
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user