首页 > 解决方案 > 多个对象引用相同的逻辑对象是否更有效,或者只是将每个逻辑对象作为其他对象的子对象?

问题描述

因为我是一个非常业余的游戏开发者,所以提前为一个可能超级不清楚的解释道歉。我目前正在尝试使用 godot 引擎制作一个殖民地模拟类型的游戏,所以我正在模拟一堆角色并让它们相互交互。每个角色都是基本角色场景的一个实例,目前看起来像这样:

-BaseCharacternode
    -UInodes
    -LogicNodes
        -LogicNode
        -LogicNode
        -LogicNode

每个逻辑节点都包含用于计算诸如关系和日程安排等事物的功能。我想知道是否值得更改它,以便每个角色引用的游戏中每个逻辑节点只有一个总体实例,如果这会提高性能,因为每个实例角色中的数据会更少,或者完全是浪费时间,因为每个角色之间的交流会花费更长的时间。再说一次,对不起,这太令人费解了,我还没有学习很多技术术语

标签: oopgodot

解决方案


虽然我喜欢让对象知道它们的行为,但在“游戏角色”的情况下,这种方法很可能最终会浪费太多资源。

在这种情况下,我相信拥有一个能够处理所有逻辑并将字符作为简单数据结构的“服务级别”会更有效。因此,您可以拥有处理逻辑的服务和表示字符的简单对象。

我建议您查看refactoring.guru以查找有关设计模式的更多信息。这是一个非常好的收藏,肯定会帮助你 - 我一直用它来刷新我的想法。


推荐阅读