2026-01-14 17:13:41 +00:00

34 lines
1008 B
C++

#ifndef SESSION_MANAGER_HPP
#define SESSION_MANAGER_HPP
#include "server_structs.h"
#include <string.h>
#include <cstring>
class SessionManager {
private:
trackAtributes track_info;
carAtributes players[MAX_PLAYERS];
u_int8_t connected_players;
u_int8_t server_id;
public:
SessionManager(u_int8_t sid);
void on_new_session(const trackAtributes &track);
void on_player_connected(const carAtributes &car);
void on_player_finished_loading(u_int8_t car_id);
void on_player_disconnected(u_int8_t car_id);
void on_car_update(const carAtributes &car);
void on_lap_completed(u_int8_t car_id, u_int32_t lap_time, u_int32_t cuts);
void on_collision(u_int8_t car1, u_int8_t car2);
api_packet build_packet(u_int8_t message_type);
const trackAtributes& get_track_info() const { return track_info; }
const carAtributes* get_players() const { return players; }
u_int8_t get_connected_players() const { return connected_players; }
};
#endif