QTfrontend/newnetclient.cpp
changeset 334 85eacbd9827f
parent 332 10080f681118
child 335 751348947fce
equal deleted inserted replaced
333:770743a946b1 334:85eacbd9827f
    21 
    21 
    22 #include "newnetclient.h"
    22 #include "newnetclient.h"
    23 #include "proto.h"
    23 #include "proto.h"
    24 #include "gameuiconfig.h"
    24 #include "gameuiconfig.h"
    25 #include "game.h"
    25 #include "game.h"
       
    26 #include "gamecfgwidget.h"
    26 
    27 
    27 char delimeter='\t';
    28 char delimeter='\t';
    28 
    29 
    29 HWNewNet::HWNewNet(GameUIConfig * config) :
    30 HWNewNet::HWNewNet(GameUIConfig * config, GameCFGWidget* pGameCFGWidget) :
    30   config(config)
    31   config(config),
       
    32   m_pGameCFGWidget(pGameCFGWidget),
       
    33   isChief(false)
    31 {
    34 {
    32   connect(&NetSocket, SIGNAL(readyRead()), this, SLOT(ClientRead()));
    35   connect(&NetSocket, SIGNAL(readyRead()), this, SLOT(ClientRead()));
    33   connect(&NetSocket, SIGNAL(connected()), this, SLOT(OnConnect()));
    36   connect(&NetSocket, SIGNAL(connected()), this, SLOT(OnConnect()));
    34   connect(&NetSocket, SIGNAL(disconnected()), this, SLOT(OnDisconnect()));
    37   connect(&NetSocket, SIGNAL(disconnected()), this, SLOT(OnDisconnect()));
    35   connect(&NetSocket, SIGNAL(error(QAbstractSocket::SocketError)), this,
    38   connect(&NetSocket, SIGNAL(error(QAbstractSocket::SocketError)), this,
   147     emit ChangeInTeams(lst);
   150     emit ChangeInTeams(lst);
   148     return;
   151     return;
   149   }
   152   }
   150 
   153 
   151   if (lst[0] == "CONFIGASKED") {
   154   if (lst[0] == "CONFIGASKED") {
       
   155     isChief=true;
   152     ConfigAsked();
   156     ConfigAsked();
   153     return;
   157     return;
   154   }
   158   }
   155 
   159 
   156   if (lst[0] == "CONFIGURED") {
   160   if (lst[0] == "CONFIGURED") {
   157     lst.pop_front();
   161     lst.pop_front();
   158     RunGame();
   162     if(lst.size()<5) return;
   159     qDebug() << lst[0];
   163     qDebug() << lst;
   160     QByteArray ar=QByteArray::fromBase64(lst[0].toAscii());
   164     emit seedChanged(lst[0]);
   161     emit FromNet(ar);
   165     emit mapChanged(lst[1]);
   162 
   166     emit themeChanged(lst[2]);
   163     lst.pop_front();
   167     emit initHealthChanged(lst[3].toUInt());
   164     QByteArray cache;
   168     emit turnTimeChanged(lst[4].toUInt());
   165     emit FromNet(HWProto::addStringListToBuffer(cache, lst));
   169     //emit fortsModeChanged(lst[5].toInt() != 0); // FIXME: add a getFortsMode in ConfigAsked
   166     return;
   170     return;
   167   }
   171   }
   168 
   172 
   169   if (lst[0] == "CONFIG_PARAM") {
   173   if (lst[0] == "CONFIG_PARAM") {
   170   	if (lst[1] == "SEED") {
   174   	if (lst[1] == "SEED") {
   210 }
   214 }
   211 
   215 
   212 
   216 
   213 void HWNewNet::ConfigAsked()
   217 void HWNewNet::ConfigAsked()
   214 {
   218 {
   215   QByteArray cache;
   219   QString _msg=QString("CONFIGANSWER")+delimeter;
   216   HWProto::addStringToBuffer(cache, "eseed " + seed);
   220   _msg+=m_pGameCFGWidget->getCurrentSeed()+delimeter;
   217   HWProto::addStringToBuffer(cache, "TN");
   221   _msg+=m_pGameCFGWidget->getCurrentMap()+delimeter;
   218   HWProto::addStringToBuffer(cache, "e$gmflags 0");
   222   _msg+=m_pGameCFGWidget->getCurrentTheme()+delimeter;
   219   HWProto::addStringToBuffer(cache, QString("etheme steel"));
   223   _msg+=QString("%1").arg(m_pGameCFGWidget->getInitHealth())+delimeter;
   220   QString _msg = QString("CONFIGANSWER") + delimeter + QString(cache.toBase64());
   224   _msg+=QString("%1").arg(m_pGameCFGWidget->getTurnTime());
   221   RawSendNet(_msg);
   225   RawSendNet(_msg);
   222 }
   226 }
   223 
   227 
   224 void HWNewNet::RunGame()
   228 void HWNewNet::RunGame()
   225 {
   229 {