17 gettimeofday(&_annimationTime,
nullptr);
32 gettimeofday(&now,
nullptr);
33 timersub(&now, &_annimationTime, &diff);
34 if (_positionX + 200 >= 800)
38 if (diff.tv_usec > 100) {
39 _positionX += _direction;
40 _annimationTime = now;
42 for (
auto &client : socket->getClients())
43 socket->send(packet, std::get<1>(client));
53 std::unique_ptr<Packet> packet = std::make_unique<Packet>();
54 std::unique_ptr<Element> element = std::make_unique<Element>();
56 element->x = _positionX;
57 element->y = _positionY;
60 element->type = PLAYER;
62 packet->code = ELEMENT;
63 packet->data_size =
sizeof(Element);
64 packet->data = malloc(packet->data_size);
65 memcpy(packet->data, element.get(), packet->data_size);
66 return packet.release();