// 填充密友在线列表 VOID USER::FillOnlineList( RETURN_ONLINE_LIST* pSend ) { __ENTER_FUNCTION Assert( pSend ); const _RELATION_USER* pRUser; for( INT i=0; i<MAX_RELATION_SIZE; ++i ) { pRUser = &(m_RelationData.m_RelationList.m_RelationUsers[i]); if( (pRUser->m_UserGUID != INVALID_ID) && (pRUser->m_nFriendPoint >= g_Config.m_ConfigInfo.m_nPromptPoint) ) { USER* pFriend; pFriend = g_pOnlineUser->FindUser( pRUser->m_UserGUID ); if( pFriend != NULL && pFriend->IsGoodFriend( GetGUID() ) ) // 在线玩家 { _RELATION_ONLINE OnlineRelation; OnlineRelation.SetGUID( pFriend->GetGUID() ); OnlineRelation.SetMood( pFriend->GetMood() ); pSend->AddOnlineRelation( &OnlineRelation ); } } } __LEAVE_FUNCTION }
// 通知在线密友下线信息 VOID USER::InformOfflineMsg() { __ENTER_FUNCTION const _RELATION_USER* pRUser; for( INT i=0; i<MAX_RELATION_SIZE; ++i ) { pRUser = &(m_RelationData.m_RelationList.m_RelationUsers[i]); if( (pRUser->m_UserGUID != INVALID_ID) && (pRUser->m_nFriendPoint >= g_Config.m_ConfigInfo.m_nPromptPoint) ) { USER* pFriend; pFriend = g_pOnlineUser->FindUser( pRUser->m_UserGUID ); if( pFriend != NULL && pFriend->IsGoodFriend( GetGUID() ) ) // 在线玩家 { pFriend->SendRelationOfflineMsg( this ); } } } __LEAVE_FUNCTION }