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 |