MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / init_server_callbacks

Method init_server_callbacks

src/DrawingProgram/DrawingProgram.cpp:318–333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

316}
317
318void 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
335void DrawingProgram::init_client_callbacks() {
336 world.netClient->add_recv_callback(CLIENT_TRANSFORM_MANY_COMPONENTS, [&](cereal::PortableBinaryInputArchive& message) {

Callers

nothing calls this directly

Calls 6

NetObjIDClass · 0.85
get_grid_sizeMethod · 0.80
scale_aboutMethod · 0.80
add_recv_callbackMethod · 0.45

Tested by

no test coverage detected