diff --git a/deerith_engine_client/src/world/server_communication.cpp b/deerith_engine_client/src/world/server_communication.cpp index 14bcf74..68bf44f 100644 --- a/deerith_engine_client/src/world/server_communication.cpp +++ b/deerith_engine_client/src/world/server_communication.cpp @@ -49,6 +49,11 @@ void deerith::process_packet(deerith::sync_entities_coordinates_packet_t &packet { for (int i = 0; i < packet.entities_ids.size(); i++) { + if (!exists_network_entity_with_id(packet.entities_ids[i])) + { + continue; + } + entity_t entity = get_network_entity_with_id(packet.entities_ids[i]); entity_sync_coordinates_t &sync_coords = get_component(entity); diff --git a/deerith_engine_core/include/deerith/world/world_core.h b/deerith_engine_core/include/deerith/world/world_core.h index 3367153..04a5449 100644 --- a/deerith_engine_core/include/deerith/world/world_core.h +++ b/deerith_engine_core/include/deerith/world/world_core.h @@ -38,4 +38,5 @@ namespace deerith entity_network_id_t &add_entity_network_id(entity_t ent); entity_network_id_t &add_entity_network_with_id(entity_t ent, id_t id); entity_t get_network_entity_with_id(id_t id); + bool exists_network_entity_with_id(id_t id); } diff --git a/deerith_engine_core/src/world.cpp b/deerith_engine_core/src/world.cpp index f11390e..75d05c4 100644 --- a/deerith_engine_core/src/world.cpp +++ b/deerith_engine_core/src/world.cpp @@ -42,4 +42,9 @@ deerith::entity_network_id_t &deerith::add_entity_network_with_id(entity_t ent, deerith::entity_t deerith::get_network_entity_with_id(id_t id) { return network_entities[id]; +} + +bool deerith::exists_network_entity_with_id(id_t id) +{ + return network_entities.contains(id); } \ No newline at end of file diff --git a/imgui.ini b/imgui.ini new file mode 100644 index 0000000..9930887 --- /dev/null +++ b/imgui.ini @@ -0,0 +1,4 @@ +[Window][Debug##Default] +Pos=60,60 +Size=400,400 +