头像路径
This commit is contained in:
@@ -18,6 +18,9 @@ namespace TcgEngine.UI
|
|||||||
private Image avatar_img;
|
private Image avatar_img;
|
||||||
private Button avatar_button;
|
private Button avatar_button;
|
||||||
private Sprite default_icon;
|
private Sprite default_icon;
|
||||||
|
|
||||||
|
[Header("Dynamic Art Path")]
|
||||||
|
[SerializeField] private string avatar_path;
|
||||||
|
|
||||||
private AvatarData avatar;
|
private AvatarData avatar;
|
||||||
|
|
||||||
@@ -29,6 +32,22 @@ namespace TcgEngine.UI
|
|||||||
|
|
||||||
if (avatar_button != null)
|
if (avatar_button != null)
|
||||||
avatar_button.onClick.AddListener(OnClick);
|
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)
|
public void SetAvatar(AvatarData avatar)
|
||||||
@@ -42,6 +61,46 @@ namespace TcgEngine.UI
|
|||||||
avatar_img.sprite = avatar.GetAvatar();
|
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()
|
public void SetDefaultAvatar()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -76,13 +76,12 @@ namespace TcgEngine.UI
|
|||||||
hp_txt.text = prev_hp.ToString();
|
hp_txt.text = prev_hp.ToString();
|
||||||
hp_max_txt.text = "/" + player.hp_max.ToString();
|
hp_max_txt.text = "/" + player.hp_max.ToString();
|
||||||
|
|
||||||
AvatarData adata = AvatarData.Get(player.avatar);
|
// 默认头像
|
||||||
if (avatar != null && adata != null && !killed)
|
string avatarId = !string.IsNullOrEmpty(player.avatar) ? player.avatar : "horse";
|
||||||
avatar.SetAvatar(adata);
|
string avatarPath = "Avatar/" + avatarId + ".png";
|
||||||
|
|
||||||
delayed_damage_timer -= Time.deltaTime;
|
// 设置头像路径
|
||||||
if (!IsDamagedDelayed())
|
SetAvatarByPath(avatarPath);
|
||||||
prev_hp = player.hp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -93,6 +92,17 @@ namespace TcgEngine.UI
|
|||||||
SlowUpdate();
|
SlowUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通过路径设置头像
|
||||||
|
/// </summary>
|
||||||
|
private void SetAvatarByPath(string avatarPath)
|
||||||
|
{
|
||||||
|
if (avatar != null && !killed)
|
||||||
|
{
|
||||||
|
avatar.SetAvatarPath(avatarPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void SlowUpdate()
|
void SlowUpdate()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user