12. 创建卡牌数据类

创建数据类

上一节,我们添加了卡牌的形状,这一节,我们来添加卡牌的数据,使用 ScriptableObject 来添加卡牌的数据

如上图所示,我们在 Scripts/Card/ScriptableObject 下面创建了 CardDataSO 文件,它里面有卡牌名字、卡牌图片、卡牌费用、卡牌类型、描述等信息

然后再添加一个 Card 类,用于通过 SO 文件给 Card 进行赋值

using TMPro;
using UnityEngine;

public class Card : MonoBehaviour
{
    [Header("组件")]
    public SpriteRenderer cardSprite;
    public TextMeshPro costText;
    public TextMeshPro descriptionText;
    public TextMeshPro typeText;
    public TextMeshPro cardName;
    public CardDataSO cardData;

    private void Start() 
    {
        Init(cardData);
    }

    public void Init(CardDataSO data)
    {
        cardData = data;
        cardSprite.sprite = data.cardImage;
        costText.text = data.cost.ToString();
        descriptionText.text = data.description;
        typeText.text = data.cardType switch
        {
            CardType.Attack => "攻击",
            CardType.Defense => "技能",
            CardType.Abilities => "能力",
            _ => throw new System.NotImplementedException(),
        };
        cardName.text = data.cardName;
    }
}

接着创建 SO,然后给卡牌进行赋值

运行之后,就能看到卡牌内容变得和 SO 里定义的一样了

项目相关代码

代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git

标签:20240304_1350

posted @   hellozjf  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示