在Unity3D中对状态模式的应用当属于有限状态机的使用,利用状态机管理游戏物体的状态的管理,实现一个AI系统。
状态机类:
[RequireComponent(typeof(NavMeshAgent))]
public class StateManager : MonoBehaviour {
private List<AbsState> listState = new List<AbsState> ();
private AbsState currentState;
public float sight;
public float stoppingDistance;
public Transform targetTF;
public float findInterval;
public string[] tags;
public Transform[] listTarget;
private NavMeshAgent navMeshAgent;
private void Start () {
navMeshAgent = GetComponent<NavMeshAgent> ();
}
private void OnEnable()
{
InvokeRepeating (&