我在我的类中创建了一个包含变量列表的类
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;
}
这就是我的问题。我收到了错误消息“Achatization不包含archieved的定义”,这听起来像Unity在我的列表中找不到变量,即使我创建了一个变量,并且应该可以轻松访问。
public void Notification(string ID, bool achieved)
{
AchievementList achievements = achievementsList.FirstOrDefault(x => x.ID == ID);
if (achievements.achieved == achieved) {
checkachieved = true;
}}
您应该重命名类以明确其用法。