controller_motion: Use std::vector for m_pObjects

This commit is contained in:
Joshua Ashton 2022-09-02 10:56:21 +01:00
parent 143b5b166c
commit ae9b5dcc8e
2 changed files with 8 additions and 8 deletions

View File

@ -32,11 +32,11 @@ void JoltPhysicsMotionController::AttachObject( IPhysicsObject *pObject, bool bC
return; return;
JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject ); JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject );
if ( bCheckIfAlreadyAttached && m_pObjects.HasElement( pPhysicsObject ) ) if ( bCheckIfAlreadyAttached && VectorContains( m_pObjects, pPhysicsObject ) )
return; return;
pPhysicsObject->AddDestroyedListener( this ); pPhysicsObject->AddDestroyedListener( this );
m_pObjects.AddToTail( pPhysicsObject ); m_pObjects.push_back( pPhysicsObject );
} }
void JoltPhysicsMotionController::DetachObject( IPhysicsObject *pObject ) void JoltPhysicsMotionController::DetachObject( IPhysicsObject *pObject )
@ -45,7 +45,7 @@ void JoltPhysicsMotionController::DetachObject( IPhysicsObject *pObject )
return; return;
JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject ); JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject );
m_pObjects.FindAndRemove( pPhysicsObject ); Erase( m_pObjects, pPhysicsObject );
pPhysicsObject->RemoveDestroyedListener( this ); pPhysicsObject->RemoveDestroyedListener( this );
} }
@ -53,18 +53,18 @@ void JoltPhysicsMotionController::DetachObject( IPhysicsObject *pObject )
int JoltPhysicsMotionController::CountObjects( void ) int JoltPhysicsMotionController::CountObjects( void )
{ {
return m_pObjects.Count(); return int( m_pObjects.size() );
} }
void JoltPhysicsMotionController::GetObjects( IPhysicsObject **pObjectList ) void JoltPhysicsMotionController::GetObjects( IPhysicsObject **pObjectList )
{ {
for ( int i = 0; i < m_pObjects.Count(); i++ ) for ( size_t i = 0; i < m_pObjects.size(); i++ )
pObjectList[ i ] = m_pObjects[ i ]; pObjectList[ i ] = m_pObjects[ i ];
} }
void JoltPhysicsMotionController::ClearObjects( void ) void JoltPhysicsMotionController::ClearObjects( void )
{ {
m_pObjects.RemoveAll(); m_pObjects.clear();
} }
void JoltPhysicsMotionController::WakeObjects( void ) void JoltPhysicsMotionController::WakeObjects( void )
@ -85,7 +85,7 @@ void JoltPhysicsMotionController::SetPriority( priority_t priority )
void JoltPhysicsMotionController::OnJoltPhysicsObjectDestroyed( JoltPhysicsObject *pObject ) void JoltPhysicsMotionController::OnJoltPhysicsObjectDestroyed( JoltPhysicsObject *pObject )
{ {
JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject ); JoltPhysicsObject *pPhysicsObject = static_cast< JoltPhysicsObject * >( pObject );
m_pObjects.FindAndRemove( pPhysicsObject ); Erase( m_pObjects, pPhysicsObject );
} }
void JoltPhysicsMotionController::OnPreSimulate( float flDeltaTime ) void JoltPhysicsMotionController::OnPreSimulate( float flDeltaTime )

View File

@ -29,5 +29,5 @@ public:
private: private:
IMotionEvent *m_pMotionEvent; IMotionEvent *m_pMotionEvent;
CUtlVector< JoltPhysicsObject * > m_pObjects; std::vector< JoltPhysicsObject * > m_pObjects;
}; };