【发布时间】:2018-11-21 00:34:40
【问题描述】:
所以基本上我正在努力解决一个问题,希望这里有人能指出我正确的方向。
我随机生成项目,并试图实例化所述项目,唯一的问题是,虽然我能够实例化父项目,但我不会预先知道生成的项目是否是“武器/盔甲”等等,都是Item的继承子代。所以我能够得到生成项目的类型,但是在将该类型转换回要实例化的脚本/对象时遇到问题。
例如: 物品 > 武器 > 剑。 我可以生成一把剑,并获得剑的类型,但是我无法实例化一把剑,因为我只有类型而不是真正的剑。
由于我的 Sword 类在它的 Start 方法中加载了数据,然后是 Weapon,然后是 Item,我不能仅仅实例化一个 Item 并知道它是一把剑。 也许我做错了。
感谢您的阅读!
【问题讨论】:
-
1) 工厂(“让我成为一个东西”)和 2) 项目注册表(“找到我知道的东西的模式”)。
-
谢谢!我现在正在阅读有关工厂的信息。有简单的例子或链接吗?
-
@Draco18s 我不确定如何将您的评论标记为一个很好的答案,但非常感谢您。教鱼在这个领域非常重要,我学到了很多东西,我只是不知道从哪里开始。工厂看起来很棒!
-
@Holden 查看可编写脚本的对象,您可以创建一个数据库,然后快速进行查找。 SO 已经存在了一段时间,它们非常适合这种特殊情况。
-
@LevonRavel 谢谢!我也会阅读这些内容 =)