【发布时间】:2022-01-18 16:54:02
【问题描述】:
我在我的班级中创建了一个带有变量列表的班级
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;
}
为此,我在当前班级中创建了一个变量:
[SerializeField]
public AchievementList[] achievementsList;
在我的函数中,我想获得布尔变量“已实现”并检查其是否为真:
public void Notification(string ID, bool achieved)
{
Achievement achievements = achievementsList.FirstOrDefault(x => x.ID == ID);
if (achievements.achieved == achieved) {
checkachieved = true;
}
这就是我的问题。我收到错误消息“成就不包含归档的定义”,这听起来像是 Unity 在我的列表中找不到变量,即使我创建了一个并且应该可以轻松访问。
【问题讨论】:
-
嗯
Achievement不会...AchievementList会 -
为什么
AchievementList有一个achieved字段?您可以不取得任何成就,也可以取得全部成就,您不能只取得一些成就吗?
标签: c# arrays list class unity3d