diff options
Diffstat (limited to 'src/serialization-static-ui.cpp')
| -rw-r--r-- | src/serialization-static-ui.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/serialization-static-ui.cpp b/src/serialization-static-ui.cpp index ba67fbd..0a82681 100644 --- a/src/serialization-static-ui.cpp +++ b/src/serialization-static-ui.cpp @@ -128,6 +128,8 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(kvec != nullptr); assert(data != nullptr); assert(kvec->arr.next == 1); + uint32_t u; + FontRender *fr = nullptr; pk_uuid font_render_uuid = pk_uuid_zed; compt_a<8==sizeof(pke_ui_box_type_data::pke_ui_box_type_data_text)>(); @@ -137,9 +139,16 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(font_render_uuid != pk_uuid_zed); - FontRender *fr = static_cast<FontRender *>(ECS_GetEntityByUUID(font_render_uuid)); + for (u = 0; u < h->mapping.next; ++u) { + if (h->mapping[u].serialized_uuid == font_render_uuid) { + assert(h->mapping[u].created_entity != nullptr); + fr = static_cast<FontRender *>(h->mapping[u].created_entity); + data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + break; + } + } - data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + assert(fr != nullptr); } void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_container *kvec, pke_ui_box_type_data::pke_ui_box_type_data_button_text *data) { @@ -147,6 +156,8 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(kvec != nullptr); assert(data != nullptr); assert(kvec->arr.next == 1); + uint32_t u; + FontRender *fr = nullptr; pk_uuid font_render_uuid = pk_uuid_zed; // TODO @@ -161,9 +172,16 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(font_render_uuid != pk_uuid_zed); - FontRender *fr = static_cast<FontRender *>(ECS_GetEntityByUUID(font_render_uuid)); + for (u = 0; u < h->mapping.next; ++u) { + if (h->mapping[u].serialized_uuid == font_render_uuid) { + assert(h->mapping[u].created_entity != nullptr); + fr = static_cast<FontRender *>(h->mapping[u].created_entity); + data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + break; + } + } - data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + assert(fr != nullptr); } void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_container *kvec, pke_ui_box_type_data::pke_ui_box_type_data_button_image *data) { |
