基于组件的设计

时间:2011-05-22 08:23:25

标签: components

假设您制作了一个游戏引擎,并且您有多个GameObjects,并且每个GameObject都有一个可以添加或删除的组件列表。

假设有一个MeshComponent有顶点,法线等。如果有多个GameObjects具有相同的MeshComponent,则会有大量内存浪费。当然有很多方法可以实现这个,但我想要一些好的建议如何解决这个问题?组件如何共享不会被修改的数据?

1 个答案:

答案 0 :(得分:0)

C ++没有静态类。

如果多个GameObjects具有相同的MeshComponent,则会有 NO 内存浪费。 因为,它当然是MeshComponent ...

如果您有许多概念上应该相同的MeshComponent副本,您将浪费内存。

如果许多GameObjects需要引用相同的MeshComponent,那么每个人都应该拥有指向同一MeshComponent的(智能)指针。