QTfrontend/netconnectedclient.cpp
changeset 1301 c6fe8a4bfd34
parent 1082 596b1dcdc1df
child 1302 4290ba4a14ca
equal deleted inserted replaced
1300:22c03f69e142 1301:c6fe8a4bfd34
    60   }
    60   }
    61 }
    61 }
    62 
    62 
    63 void HWConnectedClient::ParseCmd(const QStringList & lst)
    63 void HWConnectedClient::ParseCmd(const QStringList & lst)
    64 {
    64 {
    65 qDebug() << "Server: Parsing:" << lst;
    65 //qDebug() << "Server: Parsing:" << lst;
    66   if(!lst.size())
    66   if(!lst.size())
    67   {
    67   {
    68     qWarning("Net server: Bad message");
    68     qWarning("Net server: Bad message");
    69     return;
    69     return;
    70   }
    70   }
   136     // create CONFIG_PARAM to save HHNUM at server from lst
   136     // create CONFIG_PARAM to save HHNUM at server from lst
   137     QStringList tmp = lst;
   137     QStringList tmp = lst;
   138     tmp=QStringList("CONFIG_PARAM") << confstr << lst[3];
   138     tmp=QStringList("CONFIG_PARAM") << confstr << lst[3];
   139     m_hwserver->sendOthers(this, tmp.join(QString(delimeter)));
   139     m_hwserver->sendOthers(this, tmp.join(QString(delimeter)));
   140     m_hwserver->m_gameCfg[tmp[1]]=tmp.mid(2);
   140     m_hwserver->m_gameCfg[tmp[1]]=tmp.mid(2);
       
   141 qDebug() << QString("[%1] = %2").arg(tmp[1]).arg(tmp.mid(2)[0]);
   141     return;
   142     return;
   142   }
   143   }
   143 
   144 
   144   if(lst[0]=="CONFIG_PARAM") {
   145   if(lst[0]=="CONFIG_PARAM") {
   145     if (lst.size()<3) {
   146     if (lst.size()<3) {
   166     // add team ID
   167     // add team ID
   167     static unsigned int netTeamID=0;
   168     static unsigned int netTeamID=0;
   168     tmp.insert(1, QString::number(++netTeamID));
   169     tmp.insert(1, QString::number(++netTeamID));
   169 
   170 
   170     // hedgehogs num count
   171     // hedgehogs num count
   171     int maxAdd=18-m_hwserver->hhnum;
   172     int maxAdd = 18 - m_hwserver->hhnum;
   172     if (maxAdd<=0)
   173     if (maxAdd <= 0)
   173     {
   174     {
   174 	  qWarning("Net server: 'ADDTEAM' message: rejecting");
   175 	  qWarning("Net server: 'ADDTEAM' message: rejecting");
   175 	  return; // reject command
   176 	  return; // reject command
   176     }
   177     }
   177     int toAdd=maxAdd<4 ? maxAdd : 4;
   178     int toAdd=maxAdd < 4 ? maxAdd : 4;
   178     m_hwserver->hhnum+=toAdd;
   179     m_hwserver->hhnum+=toAdd;
   179 qDebug() << "to add = " << toAdd << "m_hwserver->hhnum = " << m_hwserver->hhnum;
   180 qDebug() << "to add = " << toAdd << "m_hwserver->hhnum = " << m_hwserver->hhnum;
   180     // hedgehogs num config
   181     // hedgehogs num config
   181     QString hhnumCfg=QString("CONFIG_PARAM%1HHNUM+%2+%3%1%4").arg(delimeter).arg(tmp[0])\
   182     QString hhnumCfg=QString("CONFIG_PARAM%1HHNUM+%2+%3%1%4").arg(delimeter).arg(tmp[0])\
   182       .arg(netTeamID)\
   183       .arg(netTeamID)\
   188       .arg(tmp.takeAt(2));
   189       .arg(tmp.takeAt(2));
   189 
   190 
   190     m_hwserver->m_gameCfg[colorCfg.split(delimeter)[1]]=colorCfg.split(delimeter).mid(2);
   191     m_hwserver->m_gameCfg[colorCfg.split(delimeter)[1]]=colorCfg.split(delimeter).mid(2);
   191     m_hwserver->m_gameCfg[hhnumCfg.split(delimeter)[1]]=hhnumCfg.split(delimeter).mid(2);
   192     m_hwserver->m_gameCfg[hhnumCfg.split(delimeter)[1]]=hhnumCfg.split(delimeter).mid(2);
   192     m_teamsCfg.push_back(tmp);
   193     m_teamsCfg.push_back(tmp);
   193 
   194 qDebug() << QString("[%1] = %2").arg(hhnumCfg.split(delimeter)[1]).arg(hhnumCfg.split(delimeter).mid(2)[0]);
   194     m_hwserver->sendOthers(this, QString("ADDTEAM:")+delimeter+tmp.join(QString(delimeter)));
   195     m_hwserver->sendOthers(this, QString("ADDTEAM:")+delimeter+tmp.join(QString(delimeter)));
   195     RawSendNet(QString("TEAM_ACCEPTED%1%2%1%3").arg(delimeter).arg(tmp[0]).arg(tmp[1]));
   196     RawSendNet(QString("TEAM_ACCEPTED%1%2%1%3").arg(delimeter).arg(tmp[0]).arg(tmp[1]));
   196     m_hwserver->sendAll(colorCfg);
   197     m_hwserver->sendAll(colorCfg);
   197     m_hwserver->sendAll(hhnumCfg);
   198     m_hwserver->sendAll(hhnumCfg);
   198     return;
   199     return;
   211       if(hhTmpList[0] == "HHNUM")
   212       if(hhTmpList[0] == "HHNUM")
   212       {
   213       {
   213         if(hhTmpList[1]==lst[1])
   214         if(hhTmpList[1]==lst[1])
   214         {
   215         {
   215 		  m_hwserver->hhnum-=it.value()[0].toUInt();
   216 		  m_hwserver->hhnum-=it.value()[0].toUInt();
       
   217 		  m_hwserver->m_gameCfg.remove(it.key());
   216 qDebug() << "REMOVETEAM hhnum = " << m_hwserver->hhnum;
   218 qDebug() << "REMOVETEAM hhnum = " << m_hwserver->hhnum;
   217 		  break;
   219 		  break;
   218         }
   220         }
   219       }
   221       }
   220     }
   222     }