Making enemies pause between actions?

I’m putting together a simple top-down shooter game, and I want an enemy to pause in between particular actions. I’m REALLY new to doing AI, so bear with me here…

In this particular case I have a really simple pattern in mind:

Step 1 - Rotate towards the player and stop.

Step 2 - Fire guns once or twice.

Step 3 - Move forward a few hundred units and stop.

Step 4 - Repeat Step 1.

Right now my code looks like this:

var Target : GameObject;
var MoveForwardSpeed = 500;
var MoveDistance : float = 100;

function Start () {
transform.LookAt(Target.transform.position);
transform.Translate(Vector3.forward*Time.deltaTime*MoveForwardSpeed);
}

Where “Target” is the player. The gun runs on its own script and isn’t the problem. Rather, it’s separating out the process of looking at the player and then moving forward. As of right now it follows the player relentlessly and is a horrible pain in the butt, which isn’t quite what I want. Can anybody point me in the right direction on this one?

I apologize if my questions seem a bit simplistic–probably someone else has asked these before…

you will probably want to have your enemy using different states, for example like in this pseudo code

if (state = rotate) then
rotate the enemy
state = pause
else if (state = move) then
move forward a few units
state = pause
else if (state = shoot) then
shoot 2 bullets
state = pause
else if (state = pause) then
do nothing for 1 second
figure out what to do next (maybe depending on how far the player is away or what the last state was)