private CGetPlayerDataPersistenceResponse Handle_Get_Player_Data_Request_Locally( CGetPlayerDataPersistenceRequest request ) { EPersistenceID player_id = EPersistenceID.Invalid; if ( !m_KnownPlayers.TryGetValue( request.PlayerName.ToUpper(), out player_id ) ) { return null; } CPersistentPlayerData player_data = null; if ( !m_PlayerDataByID.TryGetValue( player_id, out player_data ) ) { return null; } return new CGetPlayerDataPersistenceResponse( request.RequestID, player_data ); }
private void Handle_Client_Hello_Request( CClientHelloRequest message, ESessionID session_id ) { CGetPlayerDataPersistenceRequest get_data_request = new CGetPlayerDataPersistenceRequest( message.Name ); get_data_request.Handler = delegate( CPersistenceResponse response ) { CGetPlayerDataPersistenceResponse get_data_response = response as CGetPlayerDataPersistenceResponse; EPersistenceID player_id = get_data_response.PlayerData.ID; CConnectedPlayerManager.Instance.Add_Connected_Player( session_id, player_id, message ); }; CDatabaseProxy.Instance.Submit_Request( get_data_request ); }