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; }