Example #1
0
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);
	}

}