Example #1
0
// Find winner of a non-team based game
IndividualGameResults Game::getIndividualGameWinner() const
{
   S32 clientCount = getClientCount();

   if(clientCount == 1)
      return IndividualGameResults(OnlyOnePlayerOrTeam, getClientInfo(0));

   ClientInfo *winningClient = getClientInfo(0);
   GameEndStatus status = HasWinner;

   for(S32 i = 1; i < clientCount; i++)
   {
      ClientInfo *clientInfo = getClientInfo(i);

      if(clientInfo->getScore() == winningClient->getScore())
         status = Tied;

      else if(clientInfo->getScore() > winningClient->getScore())
      {
         winningClient = clientInfo;
         status = HasWinner;
      }
   }

   return IndividualGameResults(status, winningClient);
}