Behaviour tree decorator implementation
This commit is contained in:
@@ -69,10 +69,11 @@ BzObjectPool *bzObjectPoolCreate(const BzObjectPoolDesc *desc) {
|
||||
if (stride < sizeof(i32)) {
|
||||
stride = sizeof(i32);
|
||||
}
|
||||
BZ_ASSERT(desc->objectsPerPage > 0);
|
||||
BZ_ASSERT(desc->objectsPerPage >= 0);
|
||||
BZ_ASSERT(desc->objectsPerPage < (2 << 23));
|
||||
|
||||
size_t objectsPerPage = desc->objectsPerPage;
|
||||
if (objectsPerPage == 0) objectsPerPage = 512;
|
||||
|
||||
size_t pageCapacity = 8;
|
||||
void **pages = bzAlloc(sizeof(*pages) * pageCapacity);
|
||||
@@ -100,6 +101,10 @@ void bzObjectPoolDestroy(BzObjectPool *pool) {
|
||||
bzFree(pool);
|
||||
}
|
||||
|
||||
size_t bzObjectPoolGetObjectSize(BzObjectPool *pool) {
|
||||
return pool->stride;
|
||||
}
|
||||
|
||||
size_t bzObjectPoolGetNumFree(BzObjectPool *pool) {
|
||||
return pool->numFree;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ typedef struct BzObjectPoolDesc {
|
||||
BzObjectPool *bzObjectPoolCreate(const BzObjectPoolDesc *desc);
|
||||
void bzObjectPoolDestroy(BzObjectPool *pool);
|
||||
|
||||
size_t bzObjectPoolGetObjectSize(BzObjectPool *pool);
|
||||
|
||||
size_t bzObjectPoolGetNumFree(BzObjectPool *pool);
|
||||
void *bzObjectPool(BzObjectPool *pool);
|
||||
void *bzObjectPoolGetObject(BzObjectPool *pool, u32 idx);
|
||||
|
||||
Reference in New Issue
Block a user