//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Quickplay related code shared between GC and client // // $NoKeywords: $ //=============================================================================// #include "cbase.h" #include "tf_quickplay_shared.h" //----------------------------------------------------------------------------- extern const char k_szQuickplayFAQ_URL[] = "https://support.steampowered.com/kb_article.php?ref=2825-AFGJ-3513"; // // MvM Missions // CMvMMissionSet::CMvMMissionSet() { Clear(); } CMvMMissionSet::CMvMMissionSet( const CMvMMissionSet &x ) { m_bits = x.m_bits; } CMvMMissionSet::~CMvMMissionSet() {} void CMvMMissionSet::operator=( const CMvMMissionSet &x ) { m_bits = x.m_bits; } void CMvMMissionSet::Clear() { m_bits = 0; } bool CMvMMissionSet::operator==( const CMvMMissionSet &x ) const { return m_bits == x.m_bits; } void CMvMMissionSet::SetMissionBySchemaIndex( int idxMission, bool flag ) { Assert( idxMission >= 0 && idxMission < GetItemSchema()->GetMvmMissions().Count() ); uint64 mask = ( (uint64)1 << (unsigned)idxMission ); if ( flag ) m_bits |= mask; else m_bits &= ~mask; } bool CMvMMissionSet::GetMissionBySchemaIndex( int idxMission ) const { // Bogus index? if ( idxMission == k_iMvmMissionIndex_NotInSchema ) return false; if ( idxMission < 0 || idxMission >= GetItemSchema()->GetMvmMissions().Count() ) { Assert( idxMission >= 0 ); Assert( idxMission < GetItemSchema()->GetMvmMissions().Count() ); return false; } // Check the bit uint64 mask = ( (uint64)1 << (unsigned)idxMission ); return ( m_bits & mask ) != 0; } void CMvMMissionSet::Intersect( const CMvMMissionSet &x ) { m_bits &= x.m_bits; } bool CMvMMissionSet::HasIntersection( const CMvMMissionSet &x ) const { return ( m_bits & x.m_bits ) != 0; } bool CMvMMissionSet::IsEmpty() const { return ( m_bits == 0 ); }