void ZCharacterView::SetCharacter( MUID uid ) { m_Info.UID = uid; MMatchObjCacheMap* pObjCacheMap = ZGetGameClient()->GetObjCacheMap(); for(MMatchObjCacheMap::iterator itor = pObjCacheMap->begin(); itor != pObjCacheMap->end(); ++itor) { MMatchObjCache* pObj = (*itor).second; if( pObj->GetUID() == m_Info.UID ) { InitCharParts( pObj->GetCostume()->nSex, pObj->GetCostume()->nHair, pObj->GetCostume()->nFace, pObj->GetCostume()->nEquipedItemID ); MCOLOR _color; char sp_name[255]; MMatchUserGradeID gid; if(GetUserInfoUID(m_Info.UID,_color,sp_name,gid)) { SetText( sp_name ); m_Info.nLevel = 0; } else { SetText( pObj->GetName() ); m_Info.nLevel = pObj->GetLevel(); } SetDrawInfo( true ); } } }
void ZScoreBoard::Refresh() { if (m_pListBox == NULL) return; char szState[64]; char szTeam[128]; szTeam[0] = NULL; const char* szRefName = NULL; sColor _color; char sp_name[256]; CCMatchUserGradeID gid; m_pListBox->RemoveAll(); for (ZCharacterManager::iterator itor = m_pCharacterManager->begin(); itor != m_pCharacterManager->end(); ++itor) { ZCharacter* pCharacter = (*itor).second; if (pCharacter->IsDie()) strcpy(szState, "Dead"); else strcpy(szState, "Alive"); ZMatch *pMatch=ZGetGame()->GetMatch(); if (pMatch && pMatch->IsTeamPlay()) { strcpy(szTeam, ZGetGame()->GetMatch()->GetTeamName(pCharacter->GetTeamID())); } int nPing = (pCharacter->m_UID == ZGetGameClient()->GetPlayerUID() ? 0 : 999); CCMatchPeerInfo* pPeer = ZGetGameClient()->FindPeer(pCharacter->m_UID); if (pPeer) { //nPing = int(pCharacter->m_fAveragePingTime*1000.f) nPing = pPeer->GetPing(ZGetGame()->GetTickTime()); } szRefName = NULL; if(GetUserInfoUID( pCharacter->m_UID,_color,sp_name,gid)) { szRefName = sp_name; } else{ szRefName = pCharacter->GetProperty()->GetName(); } // Add(szTeam, szRefName, szState, pCharacter->GetStatus()->iExp, // pCharacter->GetStatus()->nKills, pCharacter->GetStatus()->nDeaths, nPing); } CCWidget* pWidget = m_pIDLResource->FindWidget("CombatScoreGameType"); if (pWidget != NULL) { // pWidget->SetText(GetGameTypeStr(g_pGame->GetMatch()->GetMatchType())); } pWidget = m_pIDLResource->FindWidget("CombatScoreRound"); if (pWidget != NULL) { char szTemp[128]; // sprintf(szTemp, "Round %2d / %2d", g_pGame->GetMatch()->GetCurrRound() + 1, // g_pGame->GetMatch()->GetRoundCount()); if (ZGetGame()->GetMatch()->IsTeamPlay()) { char szTemp2[128]; // sprintf(szTemp2, " Score %2d(Red) : %2d(Blue)", g_pGame->GetMatch()->GetTeamScore(CCMT_RED), // g_pGame->GetMatch()->GetTeamScore(CCMT_BLUE)); strcpy(szTemp, szTemp2); } pWidget->SetText(szTemp); } }