簡體   English   中英

腳本找不到 class 變量

[英]Script doesn't find class variable

我在我的 class 中創建了一個 class 並帶有變量列表

    public class Achievement : MonoBehaviour
{
    public static Achievement AchievementSystem;

    [System.Serializable]
    public class AchievementList
    {
    public Image icon;
    public string display;
    public string description;
    public string ID;
    public bool achieved;
    }

為此,我在當前的 class 中創建了一個變量:

[SerializeField]
public AchievementList[] achievementsList;

在我的 function 中,我想獲得“已實現”的 bool var 並檢查其是否為真:

public void Notification(string ID, bool achieved)
{
    Achievement achievements = achievementsList.FirstOrDefault(x => x.ID == ID);

    if (achievements.achieved == achieved) {
        checkachieved = true;
    }

這就是我的問題。 我收到錯誤消息“成就不包含歸檔的定義”,這聽起來像是 Unity 在我的列表中找不到變量,即使我創建了一個並且應該可以輕松訪問。

您正在嘗試調用class Achievement的變量bool achieved 但是bool achievedclass AchievementList的成員。 使用AchievementList而不是Achievement

public void Notification(string ID, bool achieved)
{
    AchievementList achievements = achievementsList.FirstOrDefault(x => x.ID == ID);

    if (achievements.achieved == achieved) {
        checkachieved = true;
    }}

您應該重命名您的類以闡明其用法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM