generated from AfonsoCMSousa/CPP-Template
34 lines
1008 B
C++
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
|