MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / add_chunk

Method add_chunk

modules/engine/runtime/src/ecs/archetype.cpp:349–372  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

347}
348
349void sugoi_group_t::add_chunk(sugoi_chunk_t* chunk)
350{
351 using namespace sugoi;
352 size += chunk->count;
353 chunk->type = archetype;
354 chunk->group = this;
355 if(chunk->count < chunk->get_capacity())
356 {
357 chunk->index = (uint32_t)chunks.size();
358 chunks.push_back(chunk);
359 }
360 else
361 {
362 chunks.resize(chunks.size() + 1);
363 for(uint32_t i = firstFree; i < (uint32_t)chunks.size() - 1; ++i)
364 {
365 chunks[i]->index = i+1;
366 chunks[i + 1] = chunks[i];
367 }
368 chunks[firstFree] = chunk;
369 chunk->index = firstFree;
370 firstFree++;
371 }
372}
373
374void sugoi_group_t::resize_chunk(sugoi_chunk_t* chunk, EIndex newSize)
375{

Callers 3

defragmentMethod · 0.80
castMethod · 0.80
mergeMethod · 0.80

Calls 4

get_capacityMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected