private void On_Query_Player_Info_Request( CQueryPlayerInfoRequest request, ESessionID source_session ) { CQueryPlayerInfoResponse response = new CQueryPlayerInfoResponse( request.RequestID ); foreach ( var id in request.IDs ) { CConnectedPlayer player = Get_Active_Player_By_Persistence_ID( id ); if ( player != null ) { CPlayerInfo player_info = new CPlayerInfo( id ); player_info.Name = player.Name; response.Add_Player_Info( player_info ); } } Send_Message( response, source_session ); }
private static void Build_Connection_Message_Samples( List< CNetworkMessage > message_list ) { message_list.Add( new CClientHelloRequest( "SomeLoginName" ) ); message_list.Add( new CClientHelloResponse( EMessageRequestID.Start, new CPersistentPlayerData( (EPersistenceID) 1, "PlayerName" ) ) ); message_list.Add( new CConnectionDroppedMessage( EConnectRefusalReason.Name_Already_Connected ) ); message_list.Add( new CDisconnectRequestMessage() ); message_list.Add( new CDisconnectResultMessage( EDisconnectReason.Client_Request_Quit ) ); message_list.Add( new CPingMessage() ); CQueryPlayerInfoRequest query_info_request = new CQueryPlayerInfoRequest(); for ( int i = 0; i < 5; i++ ) { query_info_request.Add_Player( (EPersistenceID) i ); } message_list.Add( query_info_request ); CQueryPlayerInfoResponse query_info_response = new CQueryPlayerInfoResponse( EMessageRequestID.Start ); for ( int i = 0; i < 5; i++ ) { query_info_response.Add_Player_Info( new CPlayerInfo( (EPersistenceID) i, "SomePlayer" + i.ToString() ) ); } message_list.Add( query_info_response ); }