void SGBattle::SendCurrentTurn() { SFRoom* pRoom = GetOwner()->GetOwner(); auto& roomMember = pRoom->GetRoomMemberMap(); int currentUserID = m_pSevenGameManager->GetCurrentUserID(); SGUser* pSGUser = m_pSevenGameManager->FindUser(currentUserID); SFProtobufPacket<SevenGamePacket::CurrentTurn> currentTurn(SevenGame::CurrentTurn); if (pSGUser->GetID() <= 0) { currentTurn.GetData().set_playerindex(pSGUser->GetID()); currentTurn.GetData().set_playername("AI"); } else { auto& iter = roomMember.find(pSGUser->GetID()); SFASSERT(iter != roomMember.end()); SFPlayer* pCurrentTurnPlayer = iter->second; currentTurn.GetData().set_playerindex(pCurrentTurnPlayer->GetSerial()); currentTurn.GetData().set_playername(pCurrentTurnPlayer->GetPlayerName()); } m_dwLastPlayTickCount = GetTickCount(); BroadCast(currentTurn); }