| 316 | } |
| 317 | |
| 318 | void DrawingProgram::init_server_callbacks() { |
| 319 | world.netServer->add_recv_callback(SERVER_TRANSFORM_MANY_COMPONENTS, [&](std::shared_ptr<NetServer::ClientData> client, cereal::PortableBinaryInputArchive& message) { |
| 320 | std::vector<std::pair<NetworkingObjects::NetObjID, CoordSpaceHelper>> transforms; |
| 321 | message(transforms); |
| 322 | |
| 323 | auto clientData = world.netObjMan.get_obj_temporary_ref_from_id<ClientData>(NetworkingObjects::NetObjID(client->customID)); |
| 324 | if(clientData->get_grid_size() < world.ownClientData->get_grid_size()) { |
| 325 | WorldScalar scaleUpAmount = get_canvas_scale_up_amount(world.ownClientData->get_grid_size(), clientData->get_grid_size()); |
| 326 | for(auto& [netID, coord] : transforms) |
| 327 | coord.scale_about(WorldVec{0, 0}, scaleUpAmount, true); |
| 328 | } |
| 329 | |
| 330 | process_transform_message(transforms); |
| 331 | world.netServer->send_items_to_all_clients(RELIABLE_COMMAND_CHANNEL, CLIENT_TRANSFORM_MANY_COMPONENTS, transforms); |
| 332 | }); |
| 333 | } |
| 334 | |
| 335 | void DrawingProgram::init_client_callbacks() { |
| 336 | world.netClient->add_recv_callback(CLIENT_TRANSFORM_MANY_COMPONENTS, [&](cereal::PortableBinaryInputArchive& message) { |
nothing calls this directly
no test coverage detected