Beispiel #1
0
void AIRobot::Update(float elapsedTime) 
{
	// Step 1 : check for enemy
	// TODO : Finish this part and decide what to do
	CheckForEnemy();

	// Step 2 : check if we reached target
	if (isCloseEnough())
	{
		mGridPos = mGridTarget;
		FindNewTarget();
	}
	
	// Step 3 : move towards target
	MoveToTarget(elapsedTime);

}
END_CLASS_STATES

/*
================
rvMonsterTurret::State_Combat
================
*/
stateResult_t rvMonsterTurret::State_Combat ( const stateParms_t& parms ) {
	// Aquire a new enemy if we dont have one
	if ( !enemy.ent ) {
		CheckForEnemy ( true );
	}

	FaceEnemy ( );
			
	// try moving, if there was no movement run then just try and action instead
	UpdateAction ( );
	
	return SRESULT_WAIT;
}