void CAI_GoalEntity::InputUpdateActors( inputdata_t &inputdata ) { int i; CUtlRBTree<CAI_BaseNPC *> prevActors; CUtlRBTree<CAI_BaseNPC *>::IndexType_t index; SetDefLessFunc( prevActors ); PruneActors(); for ( i = 0; i < m_actors.Count(); i++ ) { prevActors.Insert( m_actors[i] ); } ResolveNames(); for ( i = 0; i < m_actors.Count(); i++ ) { index = prevActors.Find( m_actors[i] ); if ( index == prevActors.InvalidIndex() ) { if ( m_flags & ACTIVE ) EnableGoal( m_actors[i] ); } else prevActors.Remove( m_actors[i] ); } for ( index = prevActors.FirstInorder(); index != prevActors.InvalidIndex(); index = prevActors.NextInorder( index ) ) { if ( m_flags & ACTIVE ) DisableGoal( prevActors[ index ] ); } }