文章目录
0.前言
目前,FishAI中实现了随机游动。为丰富AI的表现,本篇将给AI添加多种状态:游动状态、漂浮状态、逃跑状态。
1.Swimming:游动状态
打开FishAI.cs,添加状态枚举ActionState,定义三个状态:Swimming、Float、Escape,并在成员变量中添加当前状态和上个状态的变量:
public enum ActionState { Swimming, Float, Escape }
public ActionState _curState;
public ActionState _lastState;
上一篇实现的功能,就是Swimming状态,主要逻辑的入口是GetTarget方法。
首先将GetTarget方法改名为Swimming。当光标在GetTarget上的时候,按F2就可以重命名。
然后,在Swimming方法中,添加上一个状态和当前状态的赋值:
private void Swimming()
{
_lastState = _curState;