public virtual void AbortAllAction() { if (currentAction != null) { currentAction.ActionInterrupt(ownerBrain, ownerCharacter); currentAction = null; } ActionList.Clear(); }
public virtual void ActionStart() { if (ActionList.Count > 0) { currentAction = ActionList[0]; ActionList.RemoveAt(0); currentAction.ActionStart(this, ownerBrain, ownerCharacter); } }
public virtual void ActionFinish(AI_Action_Base action, bool success) { currentAction = null; if (ActionList.Count > 0) { ActionStart(); } else { OnActionEmpty(); } }
public override void ActionFinish(AI_Action_Base action, bool success) { currentAction = null; if (Enemy == null || !Enemy.CState.isAlive) { MissionEnd(ownerBrain, ownerCharacter); } if (ActionList.Count > 0) { ActionStart(); } else { SetUpActions(); ActionStart(); } }
public void AddNewAction(AI_Action_Base action) { ActionList.Add(action); }
public virtual void ActionFinish(AI_Action_Base action, bool success) { }
public virtual void MissionStart(AI_Base brain, Character_Base character) { currentAction = ActionList[0]; }