以下文档均来源于ECS官网:
https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/ecs_entities.html
SystemStateComponents
设计SystemStateComponentData
这个数据组件的目的,是允许您跟踪系统内部的资源,并有机会根据需要适当地创建和销毁这些资源,而不依赖于某个额外的调用。
SystemStateComponentData
和SystemStateSharedComponentData
之间的区别,与ComponentData
和SharedComponentData之间的区别
完全相同,除了一个重要方面:
当实体被销毁时,SystemStateComponentData不会被立刻销毁。
销毁实体的意思是:
- 查找引用此实体ID的所有组件
- 删除这些组件
- 回收实体ID以供重新使用。
然而,与实体ID关联的组件中,如果存在SystemStateComponentData,则不会立刻将此实体删除。这将使得系统(System)有机会来删除与实体ID相关联的资源或状态。只有在删除所有SystemStateComponentData后,此实体ID才会得到重用。