//查看帮战房间状态 int GuildWarAsist::viewRoomState(Hero *hero, char* result) { // char* viewResult; map<string, GuildWarRoom*>::iterator it; it = allGuildWarRooms.begin(); //房间数 // viewResult += intTostring(isInGuildWarTime); // viewResult += intTostring(allGuildWarRooms.size()); sprintf(result + strlen(result), ",%d,%d", isInGuildWarTime, (int)(allGuildWarRooms.size())); //逐个遍历房间状态 for (it; it != allGuildWarRooms.end(); it++) { GuildWarRoom* room; room = it->second; int state = room->getRoomState(); int remain = 0; if (state & GWR_LOCK) { remain = room->getRemainTime(); } // viewResult += "," + room->getId(); //remain为0表明房间未上锁 // viewResult += intTostring(remain); sprintf(result + strlen(result), ",%s,%d", room->getId(), remain); for (int i = 0; i < 2; i++) { Hero *hero = room->getHost(i); if (hero != NULL) { sprintf(result + strlen(result), ",%s", hero->getGuildName()); // viewResult += "," + hero->getGuildName(); } else { // viewResult += ","; sprintf(result + strlen(result), ","); } } } return 0; }