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

Method instantiate

modules/engine/runtime/src/ecs/storage.cpp:228–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

226}
227
228void sugoi_storage_t::instantiate(const sugoi_entity_t src, uint32_t count, sugoi_view_callback_t callback, void* u)
229{
230 using namespace sugoi;
231 auto view = entity_view(src);
232 auto group = view.chunk->group->cloned;
233 if (scheduler)
234 {
235 SKR_ASSERT(scheduler->is_main_thread(this));
236 scheduler->sync_archetype(group->archetype);
237 }
238 while (count != 0)
239 {
240 sugoi_chunk_view_t v = allocate_view(group, count);
241 entities.fill_entities(v);
242 duplicate_view(v, view.chunk, view.start);
243 count -= v.count;
244 if (callback)
245 callback(u, &v);
246 }
247}
248
249void sugoi_storage_t::instantiate(const sugoi_entity_t src, uint32_t count, sugoi_group_t* group, sugoi_view_callback_t callback, void* u)
250{

Callers 3

sugoiS_instantiateFunction · 0.45
sugoiS_instantiate_deltaFunction · 0.45

Calls 4

duplicate_viewFunction · 0.85
is_main_threadMethod · 0.80
sync_archetypeMethod · 0.80
fill_entitiesMethod · 0.80

Tested by

no test coverage detected