//----------------------------------------------------------------------------- // Queued-up entity deletion //----------------------------------------------------------------------------- void CClientThinkList::AddToDeleteList( ClientEntityHandle_t hEnt ) { // Sanity check! Assert( hEnt != ClientEntityList().InvalidHandle() ); if ( hEnt == ClientEntityList().InvalidHandle() ) return; // Check to see if entity is networkable -- don't let it release! C_BaseEntity *pEntity = ClientEntityList().GetBaseEntityFromHandle( hEnt ); if ( pEntity ) { // Check to see if the entity is already being removed! if ( pEntity->IsMarkedForDeletion() ) return; // Don't add networkable entities to delete list -- the server should // take care of this. The delete list is for client-side only entities. if ( !pEntity->GetClientNetworkable() ) { m_aDeleteList.AddToTail( hEnt ); pEntity->SetRemovalFlag( true ); } } }