QTfrontend/game.h
changeset 6616 f77bb02b669f
parent 6217 ef53ba841791
child 6700 e04da46ee43c
equal deleted inserted replaced
6615:65602f1ef0f8 6616:f77bb02b669f
    27 
    27 
    28 class GameUIConfig;
    28 class GameUIConfig;
    29 class GameCFGWidget;
    29 class GameCFGWidget;
    30 class TeamSelWidget;
    30 class TeamSelWidget;
    31 
    31 
    32 enum GameState {
    32 enum GameState
       
    33 {
    33     gsNotStarted = 0,
    34     gsNotStarted = 0,
    34     gsStarted  = 1,
    35     gsStarted  = 1,
    35     gsInterrupted = 2,
    36     gsInterrupted = 2,
    36     gsFinished = 3,
    37     gsFinished = 3,
    37     gsStopped = 4,
    38     gsStopped = 4,
    41 
    42 
    42 bool checkForDir(const QString & dir);
    43 bool checkForDir(const QString & dir);
    43 
    44 
    44 class HWGame : public TCPBase
    45 class HWGame : public TCPBase
    45 {
    46 {
    46     Q_OBJECT
    47         Q_OBJECT
    47 public:
    48     public:
    48     HWGame(GameUIConfig * config, GameCFGWidget * gamecfg, QString ammo, TeamSelWidget* pTeamSelWidget = 0);
    49         HWGame(GameUIConfig * config, GameCFGWidget * gamecfg, QString ammo, TeamSelWidget* pTeamSelWidget = 0);
    49     virtual ~HWGame();
    50         virtual ~HWGame();
    50     void AddTeam(const QString & team);
    51         void AddTeam(const QString & team);
    51     void PlayDemo(const QString & demofilename, bool isSave);
    52         void PlayDemo(const QString & demofilename, bool isSave);
    52     void StartLocal();
    53         void StartLocal();
    53     void StartQuick();
    54         void StartQuick();
    54     void StartNet();
    55         void StartNet();
    55     void StartTraining(const QString & file);
    56         void StartTraining(const QString & file);
    56     void StartCampaign(const QString & file);
    57         void StartCampaign(const QString & file);
    57     void abort();
    58         void abort();
    58     GameState gameState;
    59         GameState gameState;
    59     bool netSuspend;
    60         bool netSuspend;
    60 
    61 
    61  protected:
    62     protected:
    62     virtual QStringList getArguments();
    63         virtual QStringList getArguments();
    63     virtual void onClientRead();
    64         virtual void onClientRead();
    64     virtual void onClientDisconnect();
    65         virtual void onClientDisconnect();
    65 
    66 
    66 signals:
    67     signals:
    67     void SendNet(const QByteArray & msg);
    68         void SendNet(const QByteArray & msg);
    68     void SendChat(const QString & msg);
    69         void SendChat(const QString & msg);
    69     void SendTeamMessage(const QString & msg);
    70         void SendTeamMessage(const QString & msg);
    70     void GameStateChanged(GameState gameState);
    71         void GameStateChanged(GameState gameState);
    71     void GameStats(char type, const QString & info);
    72         void GameStats(char type, const QString & info);
    72     void HaveRecord(bool isDemo, const QByteArray & record);
    73         void HaveRecord(bool isDemo, const QByteArray & record);
    73     void ErrorMessage(const QString &);
    74         void ErrorMessage(const QString &);
    74 
    75 
    75 public slots:
    76     public slots:
    76     void FromNet(const QByteArray & msg);
    77         void FromNet(const QByteArray & msg);
    77     void FromNetChat(const QString & msg);
    78         void FromNetChat(const QString & msg);
    78 
    79 
    79 private:
    80     private:
    80     enum GameType {
    81         enum GameType
    81         gtLocal    = 1,
    82         {
    82         gtQLocal   = 2,
    83             gtLocal    = 1,
    83         gtDemo     = 3,
    84             gtQLocal   = 2,
    84         gtNet      = 4,
    85             gtDemo     = 3,
    85         gtTraining = 5,
    86             gtNet      = 4,
    86         gtCampaign = 6,
    87             gtTraining = 5,
    87         gtSave     = 7,
    88             gtCampaign = 6,
    88     };
    89             gtSave     = 7,
    89     char msgbuf[MAXMSGCHARS];
    90         };
    90     QString ammostr;
    91         char msgbuf[MAXMSGCHARS];
    91     GameUIConfig * config;
    92         QString ammostr;
    92     GameCFGWidget * gamecfg;
    93         GameUIConfig * config;
    93     TeamSelWidget* m_pTeamSelWidget;
    94         GameCFGWidget * gamecfg;
    94     GameType gameType;
    95         TeamSelWidget* m_pTeamSelWidget;
       
    96         GameType gameType;
    95 
    97 
    96     void commonConfig();
    98         void commonConfig();
    97     void SendConfig();
    99         void SendConfig();
    98     void SendQuickConfig();
   100         void SendQuickConfig();
    99     void SendNetConfig();
   101         void SendNetConfig();
   100     void SendTrainingConfig();
   102         void SendTrainingConfig();
   101     void SendCampaignConfig();
   103         void SendCampaignConfig();
   102     void ParseMessage(const QByteArray & msg);
   104         void ParseMessage(const QByteArray & msg);
   103     void SetGameState(GameState state);
   105         void SetGameState(GameState state);
   104 };
   106 };
   105 
   107 
   106 #endif
   108 #endif