public CLobbySummaryDelta Create_Summary_Delta()
        {
            CLobbySummaryDelta summary_delta = new CLobbySummaryDelta();
            summary_delta.Initialize( ID, (uint) LobbyState.PlayerCount, (uint) LobbyState.ObserverCount );

            return summary_delta;
        }
 // Construction
 public CBrowseLobbyDeltaMessage( CLobbySummaryDelta delta )
     : base()
 {
     Delta = delta;
 }
		private static void Build_Browse_Lobby_Message_Samples( List< CNetworkMessage > message_list )
		{
			message_list.Add( new CStartBrowseLobbyRequest( EGameModeType.Two_Players, ELobbyMemberType.Player, true ) );

			CLobbyConfig lobby_config = new CLobbyConfig();
			lobby_config.Initialize( "Pimps", EGameModeType.Two_Players, false, "BigPimpin" );

			CStartBrowseLobbyResponse browse_response = new CStartBrowseLobbyResponse( EMessageRequestID.Invalid, EStartBrowseResult.Success );
			for ( int i = 0; i < 10; i++ )
			{
				CLobbySummary lobby_summary = new CLobbySummary();
				lobby_summary.Initialize( ELobbyID.Invalid, lobby_config, DateTime.Now, EPersistenceID.Invalid, 2, 2 );
				browse_response.Add_Summary( lobby_summary );
			}

			message_list.Add( browse_response );
			message_list.Add( new CEndBrowseLobbyMessage() );
			message_list.Add( new CBrowseNextLobbySetRequest() );
			message_list.Add( new CBrowsePreviousLobbySetRequest() );

			CCursorBrowseLobbyResponse cursor_response = new CCursorBrowseLobbyResponse( EMessageRequestID.Invalid, ECursorBrowseResult.Success );
			for ( int i = 0; i < 10; i++ )
			{
				CLobbySummary lobby_summary = new CLobbySummary();
				lobby_summary.Initialize( ELobbyID.Invalid, lobby_config, DateTime.Now, EPersistenceID.Invalid, 2, 2 );
				cursor_response.Add_Summary( lobby_summary );
			}

			message_list.Add( cursor_response );

			CLobbySummary summary = new CLobbySummary();
			summary.Initialize( ELobbyID.Invalid, lobby_config, DateTime.Now, EPersistenceID.Invalid, 1, 4 );
			message_list.Add( new CBrowseLobbyAddRemoveMessage( summary, ELobbyID.Invalid ) );

			CLobbySummaryDelta summary_delta = new CLobbySummaryDelta();
			summary_delta.Initialize( ELobbyID.Invalid, 4, 1 );
			message_list.Add( new CBrowseLobbyDeltaMessage( summary_delta ) );
		}
 public void Apply_Delta( CLobbySummaryDelta delta )
 {
     PlayerCount = delta.PlayerCount;
     ObserverCount = delta.ObserverCount;
 }
		public void Broadcast_Delta_To_Watchers( CLobbySummaryDelta delta )
		{
			HashSet< EPersistenceID > watchers = Get_Watchers( delta.ID );
			if ( watchers != null )
			{
				watchers.Apply( wid => CServerMessageRouter.Send_Message_To_Player( new CBrowseLobbyDeltaMessage( delta ), wid ) );
			}
		}