#ifndef PLAYER_H #define PLAYER_H #include #include #include #include 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 zones; QMap counters; QMap arrows; int playerId; QString playerName; bool spectator; int nextCardId; void clearZones(); PlayerStatusEnum PlayerStatus; public: // Pfusch QList DeckList; QList 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 &getZones() const { return zones; } const QMap &getCounters() const { return counters; } const QMap &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