123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef CLIENT_H
- #define CLIENT_H
- #include "QWClient.h"
- #include <QString>
- #include <QStringList>
- #include <QList>
- #include <QTime>
- #include "ServerQuery.h"
- class App;
- class QTime;
- class QTimer;
- class ActiveClient;
- class Client : public QWClient
- {
- public:
- Client(App* app, ActiveClient* ac);
- ~Client();
- void connect(const char *host, quint16 port);
- void run();
- void disconnect();
- void say(const QString& msg);
- void sayTeam(const QString& msg);
- void setTeam(const QString& msg);
- void setSocket(class QTcpSocket* socket);
- void retryConnection(); //unused
- bool isOnServer() const;
- bool isQWMuted() const;
- bool isSpamMuted() const;
- void setPlayerList(PlayerList &playerList);
- void setMaxClients(int maxClients);
- protected:
- void onLevelChanged(int playerNum, const char *levelName, float gravity, float stopSpeed, float maxSpeed, float spectatorMaxSpeed, float accelerate, float airAccelerate, float waterAccelerate, float friction, float waterFriction, float entGravity);
- void onDisconnect();
- void onPrint(int level, const char *msg);
- void onChallenge();
- void onConnection();
- void onConnected();
- void onDownloadStarted(const char *fileName);
- void onDownloadFinished();
- void onDownloadProgress(int percent);
- void onStuffedCmd(const char *cmd);
- void onError(const char *description);
- void onOOBPrint(const char *msg);
- private:
- ActiveClient* myActiveClient;
- App* myApp;
- int myConnectionRetries;
- static const int ConnectionRetries = 10;
- QString myPrintLine;
- bool myDownloadProgressPrintedFlag;
- bool myOnServerFlag;
- bool mySpamMutedFlag;
- bool myQWMutedFlag;
- QTimer* myJoinMessageTimer; //after that time the bot will say hi.
- QTimer* myKeepNickTimer; //interval in which the bot tries to retake his nickname
- /* flood timers */
- QTimer* myFloodTimer; //floodtimer for all commands
- QTimer* myQWBroadcastFloodTimer; //floodtimer for .qw broadcasts
- QTimer* mySpamBroadcastFloodTimer; //floodtimer for .spam broadcasts
- /* time when floodtimer was started for calc time left */
- QTime myFloodTimerStart;
- QTime myQWBroadcastFloodTimerStart;
- QTime mySpamBroadcastFloodTimerStart;
- bool myJoinMessagePrinted;
- bool myFloodMsgPrinted;
- bool myJoinMessageScheduled;
- PlayerList myPlayerList;
- int myMaxClients;
- void print(const QString& msg);
- void parsePrintedLine();
- int playerCount() const;
- int maxClients() const;
- static QString parseNameFun(const QString& string);
- };
- #endif // CLIENT_H
|