Files
2026-07-16 23:04:59 +08:00

71 lines
1.7 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class rewardPrefab : MonoBehaviour
{
public enum RewardVisualType
{
Coins,
Material,
PlayerExp,
}
[Header("self UI")]
[SerializeField] Image reward_icon;
[SerializeField] Text reward_name;
[SerializeField] Text reward_count; // +12345
[Header("sprites")]
[SerializeField] Sprite coin_sprite;
[SerializeField] Sprite jiyisuipian;
[SerializeField] Sprite player_exp;
public void Bind(RewardVisualType rewardType, int amount)
{
if (reward_icon != null)
{
reward_icon.sprite = GetSprite(rewardType);
}
if (reward_name != null)
{
reward_name.text = GetDisplayName(rewardType);
}
if (reward_count != null)
{
reward_count.text = amount >= 0 ? $"+{amount}" : amount.ToString();
}
}
private Sprite GetSprite(RewardVisualType rewardType)
{
switch (rewardType)
{
case RewardVisualType.Coins:
return coin_sprite;
case RewardVisualType.Material:
return jiyisuipian;
case RewardVisualType.PlayerExp:
return player_exp;
default:
return null;
}
}
private static string GetDisplayName(RewardVisualType rewardType)
{
switch (rewardType)
{
case RewardVisualType.Coins:
return "算力";
case RewardVisualType.Material:
return "记忆碎片";
case RewardVisualType.PlayerExp:
return "玩家经验";
default:
return string.Empty;
}
}
}