//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //============================================================================= #include "cbase.h" #include "gcsdk/gcsdk_auto.h" #include "tf_lobby_server.h" using namespace GCSDK; const CTFLobbyMember* CTFGSLobby::GetMemberDetails( CSteamID steamID ) const { for ( int i = 0; i < Obj().members_size(); i++ ) { if ( Obj().members( i ).id() == steamID.ConvertToUint64() ) return &Obj().members( i ); } return NULL; } const CTFLobbyMember* CTFGSLobby::GetMemberDetails( int i ) const { if ( !BAssertValidMemberIndex( i ) ) return NULL; return &Obj().members( i ); } const CSteamID CTFGSLobby::GetMember( int i ) const { Assert( i >= 0 && i < Obj().members_size() ); if ( i < 0 || i >= Obj().members_size() ) return k_steamIDNil; return Obj().members( i ).id(); } CTFLobbyMember_ConnectState CTFGSLobby::GetMemberConnectState( int iMemberIndex ) const { if ( !BAssertValidMemberIndex( iMemberIndex ) ) return CTFLobbyMember_ConnectState_INVALID; return Obj().members( iMemberIndex ).connect_state(); } bool CTFGSLobby::BAssertValidMemberIndex( int iMemberIndex ) const { bool bValidMemberIndex = iMemberIndex >= 0 && iMemberIndex < Obj().members_size(); Assert( bValidMemberIndex ); return bValidMemberIndex; } void CTFGSLobby::SpewDebug() { Msg( "CTFGSLobby: ID:%016llx %d member(s) allow_spectators: %d\n", GetGroupID(), GetNumMembers(), Obj().allow_spectating() ); for ( int i = 0; i < GetNumMembers(); i++ ) { Msg( " Member[%d] %s team = %d\n", i, GetMember( i ).Render(), GetMemberDetails( i )->team() ); } Msg(" Dump:\n" ); Dump(); } #ifdef USE_MVM_TOUR const char *CTFGSLobby::GetMannUpTourName() const { if ( !IsMannUpGroup( GetMatchGroup() ) ) return NULL; return Obj().mannup_tour_name().c_str(); } #endif // USE_MVM_TOUR