| 226 | } |
| 227 | |
| 228 | void 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 | |
| 249 | void sugoi_storage_t::instantiate(const sugoi_entity_t src, uint32_t count, sugoi_group_t* group, sugoi_view_callback_t callback, void* u) |
| 250 | { |
no test coverage detected