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

Function register_managed_component

tests/runtime/ecs/main.cpp:546–575  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

544}
545
546void register_managed_component()
547{
548 using namespace guid_parse::literals;
549 sugoi_type_description_t desc = make_zeroed<sugoi_type_description_t>();
550 desc.name = u8"managed";
551 desc.size = sizeof(managed);
552 desc.entityFieldsCount = 0;
553 desc.entityFields = 0;
554 desc.guid = u8"{BA2D8E6A-9841-474F-9A6D-3E43BF0A7A9C}"_guid;
555 desc.flags = 0;
556 desc.elementSize = 0;
557 desc.alignment = alignof(managed);
558 desc.callback = {
559 +[](sugoi_chunk_t* chunk, EIndex index, char* data) { new (data) managed; },
560 +[](sugoi_chunk_t* chunk, EIndex index, char* dst, sugoi_chunk_t* schunk, EIndex sindex, const char* src) { new (dst) managed(*(managed*)src); },
561 +[](sugoi_chunk_t* chunk, EIndex index, char* data) { ((managed*)data)->~managed(); },
562 +[](sugoi_chunk_t* chunk, EIndex index, char* dst, sugoi_chunk_t* schunk, EIndex sindex, char* src) { new (dst) managed(std::move(*(managed*)src)); },
563 +[](sugoi_chunk_t* chunk, EIndex index, char* data, EIndex count, skr_binary_writer_t* v) {
564 },
565 +[](sugoi_chunk_t* chunk, EIndex index, char* data, EIndex count, skr_binary_reader_t* v) {
566 },
567 nullptr
568 };
569 type_managed = sugoiT_register_type(&desc);
570 desc.guid = u8"{BCF22A9B-908C-4F84-89B4-C7BD803FC6C2}"_guid;
571 desc.elementSize = desc.size;
572 desc.size = desc.size * 10;
573 desc.name = u8"managed_arr";
574 type_managed_arr = sugoiT_register_type(&desc);
575}
576
577void register_pinned_component()
578{

Callers 1

ProcInitializerMethod · 0.85

Calls 2

sugoiT_register_typeFunction · 0.85
moveFunction · 0.50

Tested by

no test coverage detected