为了回答这个问题,我是一个业余程序员,在过去的7年里一直在学习Node.JS,并且在几个不同的环境和项目中都接触过。现在我决定跳到另一种主要语言,开始学习C#,开始学习游戏开发等等。我正在构建一棵技能树,我无法真正理解如何在没有一堆空的GameObjects (统一)保存信息的情况下,以干净有序的方式存储我所需要的每一项技能所需的信息。
我知道(至少是我最喜欢的一种方法)如何在Node.JS中这样做,但是我找不到关于将它转换为C#的正确信息。
Node.JS实例
var skillTree = [
{
name: "Skill1",
effect: skill1Func,
unlocked: true,
prereqs: [ ]
},
{
name: "Skill2",
effect: skill2Func,
unlocked: false,
prereqs: [1, 5]
}
];
如您所见,它只是一个对象数组,所有属性都遵循相同的属性,但属性是预先确定的,而不是添加的。我只是找不到正确的途径去存储这些信息,以便在C#中使用,所以如果有人可以帮助我,这将是非常感谢的!
发布于 2022-11-22 19:39:44
通常,您将创建一个类对象来定义数据的结构。然后,可以创建该类类型的变量,并在构造函数中填充数据。示例:
public class skillItem {
public string Name { get; set; }
public SkillEffect Effect { get; set; }
public bool Unlocked { get; set; }
public int[] PreReqs { get; set; }
}
public skillItem[] skillTree = new skillItem[] {
{
Name = "skill1",
Effect = skill1Func,
Unlocked = false,
PreReqs = new int[] { 1, 5 }
},
{
Name = "skill2",
Effect = skill2Func,
Unlocked = false,
PreReqs = new int[] { 20, 30 }
}
}
https://stackoverflow.com/questions/74541421
复制相似问题