Exemple #1
0
void WatchEntity::init( Actor &self )
{
	SetSelf(&self);

	if ( _time > 0 )
		_time = level.time + _time;

	_oldTurnSpeed  = self.movementSubsystem->getTurnSpeed();

	//Check if we have an entity to watch
	if ( !_ent )
		{
		self.enemyManager->FindHighestHateEnemy();
		_ent = self.enemyManager->GetCurrentEnemy();

		if ( !_ent )
			{

			if ( _forcePlayer )
				_ent = (Entity*)GetPlayer( 0 );

			if ( !_ent )
				{
				transitionToState(WATCH_FAILED);			
				return;
				}
			}
		}

	transitionToState(WATCH_HOLD);	
}
/*
================
hhCameraInterpolator::hhCameraInterpolator
================
*/
hhCameraInterpolator::hhCameraInterpolator() : 
	clipBounds( idBounds(idVec3(-1, -1, 10), idVec3(1, 1, 12)) ) {

	ClearFuncList();
	RegisterFunc( NoInterpEvaluate, IT_None );
	RegisterFunc( VariableMidPointSinusoidalEvaluate, IT_VariableMidPointSinusoidal );
	RegisterFunc( LinearEvaluate, IT_Linear );
	RegisterFunc( InverseEvaluate, IT_Inverse );

	SetSelf( NULL );
	Setup( 0.0f, IT_None );
	Reset( vec3_origin, mat3_identity[2], 0.0f );
}