// Construction public CServerLobbyBrowser( EPersistenceID player_id, CBrowseLobbyMatchCriteria browse_criteria, bool join_first_available ) { PlayerID = player_id; WatchStartInterval = ELobbyID.Invalid; WatchEndInterval = ELobbyID.Invalid; BrowseCriteria = browse_criteria; JoinFirstAvailable = join_first_available; }
public bool Matches_Browse_Criteria( CBrowseLobbyMatchCriteria browse_criteria ) { if ( ( browse_criteria.GameModeMask & LobbyState.GameMode ) == 0 ) { return false; } ELobbyMemberType current_mask = 0; if ( LobbyState.PlayerCount < LobbyState.MaxPlayers ) { current_mask |= ELobbyMemberType.Player; } if ( LobbyState.AllowObservers ) { current_mask |= ELobbyMemberType.Observer; } if ( ( browse_criteria.LobbyMemberTypeMask & current_mask ) == 0 ) { return false; } return true; }
// Construction public CStartBrowseLobbyRequest( EGameModeType game_mode_mask, ELobbyMemberType member_type_mask, bool join_first_available ) : base() { BrowseCriteria = new CBrowseLobbyMatchCriteria( game_mode_mask, member_type_mask ); JoinFirstAvailable = join_first_available; }