这些"Type Object design pattern"解释中"Breed"的例子的目的是什么?



这是我能找到的对"类型对象"设计模式的两个最好的解释,我找不到很多;

  • https://youtu.be/umgwovikDR8
  • http://gameprogrammingpatterns.com/type-object.html

我完全理解避免为每个新类型制作类文件的概念,方法是创建一个通用的"Unit"类(如策略游戏的情况(,其中 Unit 类包含单元可以具有的所有不同变量,而是根据需要的单位类型从文件中加载该数据。 这意味着制作新单元意味着只需在代码之外创建新的数据文件,而无需重新编译,并且任务可以交给设计人员。

我没有得到的是拥有"Breed"类的解释 - 这两种解释在解释它如何解决初始问题方面做得很差;似乎它只是将问题转移到Breed类上。 即使我知道这不可能是他们所说的。

我想我明白了;它只是一个数据持有者。如果每次 Monster 被实例化时,它都会点击 HDD 以获取数据,那会很慢。因此,品种是唯一击中 HDD 的品种,每个品种一次 - 您只需为数据文件中有多少种品种制作它们(基于数据文件,而不是硬编码(,并可能将它们放在键值映射中,以便您可以通过文本字符串查找它们。 然后,当从关卡数据实例化怪物时,您可以通过该类型字符串查找它应该与哪个品种相关联。

最新更新