bool CPlayer::IsPlayerIgnoringElement( CElement* pElement ) { // For each ignored element for ( list < CElement* > ::const_iterator iter = m_lstIgnoredList.begin () ; iter != m_lstIgnoredList.end () ; ++iter ) { CElement* pIgnoredElement = *iter; if ( IS_TEAM ( pIgnoredElement ) ) { // Check team CTeam* pTeam = static_cast < CTeam* > ( pIgnoredElement ); // If the broadcast-to player is in the ignored team list < CPlayer* > ::const_iterator iter = pTeam->PlayersBegin (); for ( ; iter != pTeam->PlayersEnd (); iter++ ) { if ( *iter == pElement ) return true; } } else if ( IS_PLAYER( pIgnoredElement ) ) { // Check player if ( pIgnoredElement == pElement ) return true; } else { // Check element decendants if ( pIgnoredElement->IsMyChild ( pElement , true ) ) return true; } } return false; }