bettola/srv/game/player.h

35 lines
1.0 KiB
C++

#pragma once
#include <limits.h>
#include <netinet/in.h>
#include "bettola/network/tcpsocket.h"
#include "bettola/game/player_base.h"
class Player : public PlayerBase {
public:
Player(BettolaLib::Network::TCPSocket* socket);
void set_udp_addr(const sockaddr_in& addr) { _udp_addr = addr; _has_udp_addr = true; }
BettolaLib::Network::TCPSocket& get_socket(void) const { return *_socket; }
const sockaddr_in& get_udp_addr(void) const { return _udp_addr; }
bool has_udp_addr(void) const { return _has_udp_addr; }
void set_last_processed_sequence(unsigned int sequence) { _last_processed_sequence = sequence; }
unsigned int get_last_processed_sequence(void) const { return _last_processed_sequence; }
int get_chunk_x(void) const { return _chunk_x; }
int get_chunk_z(void) const { return _chunk_z; }
void set_chunk_pos(int x, int z) { _chunk_x = x; _chunk_z = z; }
private:
BettolaLib::Network::TCPSocket* _socket;
sockaddr_in _udp_addr;
bool _has_udp_addr;
unsigned int _last_processed_sequence;
int _chunk_x;
int _chunk_z;
};