public void Get_Persistence_ID_By_Name_ASync( string name, DPersistenceIDRequestHandler request_handler )
        {
            CGetPlayerIDPersistenceRequest id_request = new CGetPlayerIDPersistenceRequest( name );
            id_request.Handler = delegate( CPersistenceResponse response )
                {
                    CGetPlayerIDPersistenceResponse id_response = response as CGetPlayerIDPersistenceResponse;
                    EPersistenceID player_id = id_response.PlayerID;

                    request_handler( name, player_id );
                };

            Submit_Request( id_request );
        }
        private CPersistenceResponse Handle_Get_Player_ID_Request_Locally( CGetPlayerIDPersistenceRequest request )
        {
            EPersistenceID player_id = EPersistenceID.Invalid;
            if ( !m_KnownPlayers.TryGetValue( request.PlayerName.ToUpper(), out player_id ) )
            {
                return null;
            }

            return new CGetPlayerIDPersistenceResponse( request.RequestID, player_id );
        }