Using a simple FSM for the enemy tank AI
Let's look at the actual code for our AI tanks. First, let's create a new class, called SimpleFSM, which inherits from our FSM abstract class.
You can find the source code in the SimpleFSM.cs file:
using UnityEngine;
using System.Collections;
public class SimpleFSM : FSM {
    public enum FSMState {
        None, Patrol, Chase, Attack, Dead,
    }
    //Current state that the NPC is reaching
    public FSMState curState = FSMState.Patrol;
    //Speed of the tank
    private float curSpeed = 150.0f;
    //Tank Rotation Speed
    private float curRotSpeed = 2.0f;
    //Bullet
    public GameObject Bullet;
    //Whether the NPC is destroyed or not
    private...