首页 > 解决方案 > unity 将画布面板中的选定卡片添加到字典

问题描述

我在场景中显示了卡片,它们是带有此脚本的游戏对象:

public class CardClick : MonoBehaviour
{
    DeckBuildManager deckManager;

    // Start is called before the first frame update
    void Start()
    {
        deckManager = FindObjectOfType<DeckBuildManager>();
    }

    // Update is called once per frame

    public void AddToDeck()
    {
        if (deckManager.DeckCards.Count <= 9)
        {
            if (!deckManager.DeckCards.ContainsValue(this.gameObject.GetComponent<CardValues>().dataCard.cardName))
            {
                deckManager.DeckCards.Add(this.gameObject.GetComponent<CardValues>().dataCard, this.gameObject.GetComponent<CardValues>().dataCard.cardName);
            }
        }
    }

    
}

卡片有一个按钮组件,单击时使用 AddToDeck 功能,但无法单击。我该怎么做才能点击它们?我使用面板来显示这些卡片,因此如果出现错误,则无法删除面板。

标签: c#unity3d

解决方案


解决

public void ClickOnCard()
{
    if (deckManager.DeckCards.Count <= 9)
    {
        if (!deckManager.DeckCards.ContainsValue(this.gameObject.GetComponent<CardValues>().dataCard.cardName))
        {
            deckManager.DeckCards.Add(this.gameObject.GetComponent<CardValues>().dataCard, this.gameObject.GetComponent<CardValues>().dataCard.cardName);
        }
    }
}

推荐阅读