头像路径
This commit is contained in:
@@ -18,6 +18,9 @@ namespace TcgEngine.UI
|
||||
private Image avatar_img;
|
||||
private Button avatar_button;
|
||||
private Sprite default_icon;
|
||||
|
||||
[Header("Dynamic Art Path")]
|
||||
[SerializeField] private string avatar_path;
|
||||
|
||||
private AvatarData avatar;
|
||||
|
||||
@@ -29,6 +32,22 @@ namespace TcgEngine.UI
|
||||
|
||||
if (avatar_button != null)
|
||||
avatar_button.onClick.AddListener(OnClick);
|
||||
|
||||
if (!string.IsNullOrEmpty(avatar_path))
|
||||
{
|
||||
LoadAvatarSprite();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在 Inspector 中修改值时自动重新加载
|
||||
/// </summary>
|
||||
private void OnValidate()
|
||||
{
|
||||
if (Application.isPlaying && !string.IsNullOrEmpty(avatar_path))
|
||||
{
|
||||
LoadAvatarSprite();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetAvatar(AvatarData avatar)
|
||||
@@ -42,6 +61,46 @@ namespace TcgEngine.UI
|
||||
avatar_img.sprite = avatar.GetAvatar();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置头像图片,使用本地图片路径
|
||||
/// </summary>
|
||||
public void SetAvatarPath(string path)
|
||||
{
|
||||
avatar_path = path;
|
||||
LoadAvatarSprite();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前头像路径
|
||||
/// </summary>
|
||||
public string GetAvatarPath()
|
||||
{
|
||||
return avatar_path;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载头像图片
|
||||
/// </summary>
|
||||
private void LoadAvatarSprite()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(avatar_path))
|
||||
{
|
||||
Sprite dynamicSprite = SpriteLoader.Get()?.LoadSprite(avatar_path);
|
||||
if (dynamicSprite != null)
|
||||
{
|
||||
avatar_img.sprite = dynamicSprite;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"AvatarUI 头像图片加载失败: {avatar_path}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"AvatarUI avatar_path为空");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetDefaultAvatar()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user