【发布时间】:2019-07-28 19:16:48
【问题描述】:
所以我正在开发一款游戏,我想要一些关于如何对项目进行排序的建议,以便在 Unity 中进行简单、易读的编码参考。我知道我目前的方法有缺陷,我真的很想得到一些指导。
所以我正在做的是使用类来分隔项目类别及其项目。 例如,这是一个脚本设置的想法:
public class Items {
public class Equipment {
public class Weapons {
public Item Sword = new Item();
Sword.name = "Sword";
Sword.cost = 1;
}
}
}
然后是一个基本的 Item 类,例如
public class Item {
public string name;
public int cost;
}
我可以说这是一种糟糕的做法,尤其是基于我一直遇到的问题,但我喜欢使用像 Items.Equipment.Weapons.Sword 这样的引用的想法,而且我已经习惯于从我以前使用的 API。
我愿意彻底改变一切,我只是想要一些提示。谢谢。
我想我的主要问题是(曾经),组织嵌套类以便它们可以轻松地被其他脚本引用的最佳方式是什么?
我找到的答案是,在我的情况下,最好使用命名空间将项目分成类别,而不是嵌套类。谢谢一百万。
【问题讨论】:
-
为什么不使用 namespaces 或者这在 Unity 中是不可能的?
-
您在寻找什么结果?您是否有特定的原因希望每个项目都成为自己独特的类别?您想要一种方法在您的嵌套类示例中完成这项工作,还是想要整体建议?
-
是的,我在 Unity 中使用它时遇到了一些困难。也许我只是做错了。
-
嵌套类只是为了组织获取项目,无论如何。所以最终我希望能够使用这些项目。我希望能够做类似 Player.Inventory.addItem(Items.Equipment.Weapons.Sword);
-
你可以使用c#属性来实现你想要的。
标签: c# unity3d scripting items