servatrice/common/server_player.h
Max-Wilhelm Bruker dd5ae4d74d more server code
2009-11-08 17:05:25 +01:00

66 lines
1.9 KiB
C++

#ifndef PLAYER_H
#define PLAYER_H
#include <QObject>
#include <QString>
#include <QList>
#include <QMap>
class Server_Game;
class Server_CardZone;
class Server_Counter;
class Server_Arrow;
class Server_ProtocolHandler;
class ProtocolItem;
enum PlayerStatusEnum { StatusNormal, StatusSubmitDeck, StatusReadyStart, StatusPlaying };
class Server_Player : public QObject {
Q_OBJECT
private:
Server_Game *game;
Server_ProtocolHandler *handler;
QMap<QString, Server_CardZone *> zones;
QMap<int, Server_Counter *> counters;
QMap<int, Server_Arrow *> arrows;
int playerId;
QString playerName;
bool spectator;
int nextCardId;
void clearZones();
PlayerStatusEnum PlayerStatus;
public:
// Pfusch
QList<QString> DeckList;
QList<QString> SideboardList;
// Pfusch Ende
Server_Player(Server_Game *_game, int _playerId, const QString &_playerName, bool _spectator, Server_ProtocolHandler *_handler);
void setProtocolHandler(Server_ProtocolHandler *_handler) { handler = _handler; }
void setStatus(PlayerStatusEnum _status) { PlayerStatus = _status; }
void setPlayerId(int _id) { playerId = _id; }
PlayerStatusEnum getStatus() { return PlayerStatus; }
int getPlayerId() const { return playerId; }
bool getSpectator() const { return spectator; }
QString getPlayerName() const { return playerName; }
const QMap<QString, Server_CardZone *> &getZones() const { return zones; }
const QMap<int, Server_Counter *> &getCounters() const { return counters; }
const QMap<int, Server_Arrow *> &getArrows() const { return arrows; }
int newCardId();
int newCounterId() const;
int newArrowId() const;
void addZone(Server_CardZone *zone);
void addArrow(Server_Arrow *arrow);
bool deleteArrow(int arrowId);
void addCounter(Server_Counter *counter);
bool deleteCounter(int counterId);
void setupZones();
void sendProtocolItem(ProtocolItem *item, bool deleteItem = true);
};
#endif