diff --git a/src/app.h b/src/app.h index 20977a5..32392e6 100644 --- a/src/app.h +++ b/src/app.h @@ -94,6 +94,9 @@ struct App{ for(auto & l : line.calculate_lines()){ sim.lines.push_back(l); } + for(auto & u : people_online){ + u->update_lines = true; + } } void login(User& user){ diff --git a/src/basics.h b/src/basics.h index c7baa29..41223d6 100644 --- a/src/basics.h +++ b/src/basics.h @@ -28,6 +28,7 @@ struct User { unsigned int index{0}; std::string name{"Unknown guest"}; + bool update_lines{true}; Size size{0,0}; Position position{0,0}; diff --git a/src/main.cpp b/src/main.cpp index f6c5ba3..16f3a09 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,7 +31,10 @@ websockets::TestProtocol default_protocol{ [](User& user, basic_websocket_info) -> std::string{ js::Object ret; ret["balls"] = vector_to_json(app->sim.balls); - ret["lines"] = vector_to_json(app->sim.lines); + if(user.update_lines){ + ret["lines"] = vector_to_json(app->sim.lines); + user.update_lines = false; + } return write_json(ret); }, // receive