Chunk component data
可以使用chunk components将特定的chunk(内的entities)和data关联起来。
Chunk components包含的数据,将应用到指定chunk中的所有entities上。例如,如果有一些表示3D对象的entities(它们在一个或者及个chunk里),你可以将它们的bounding box,存储到一个chunk component里。
接口:IComponentData
Chunk components是chunk内的entities的archetype原型的一部分。所以当向一个entity添加,或者删除chunk component时,该entity会被移动到其它的chunk,因为它的archetype改变了。当然,该改变不会作用到该chunk的其它entity上。
如果在访问entity时改变了chunk component的值,那么,该改变将应用到该entity chunk上的所有的entities(其实是因为chunk component data是共享的)。如果为一个entity添加了一个chunk component改变了它的archetype,导致该entity被移动到一个已有的chunk中,不会改变新的chunk中的chunk component data的值。如果entity是被移动到了一个新创建的chunk总,则该新chunk中的chunk component data 保留第一个entity的值。
使用ComponentData 和Chunk Component Data之间,主要的区别,是添加,设置,移除时调用的接口不同。Chunk component也由相应的ComponentType函数,用来定义entity archetype和queries。
相关的APIs: