DynamicBufferComponent:非托管内存下可以随意调整大小的数组,默认容量为128字节,每个元素默认大小为16字节(float4类型),也就是默认容量为8个元素。其继承接口为IBufferElementData。
DynamicBuffer默认是存储在一段连续的trunk中,如果默认大小需要扩充,则会移动到另外一个trunk中,原始的会被销毁。
DynamicBuffer的使用事项:
添加,移除均可以使用AddComponent和RemoveComponent,但是检索或获得DynamicBuffer我们需要使用GetBuffer而不是GetComponent。
因为DynamicBuffer是只指向初始Trunk,当一个Entity添加或者移除Component时,它所属的Trunk就会发生改变,但是原来的DynamicBuffer指向是不变的。
ECB.AddBuffer将返回一个可写的Buffer,拷贝至ECB的Playblack中,SetBuffer同理,而Append