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);
 }
Exemple #6
0
 public virtual void ActionFinish(AI_Action_Base action, bool success)
 {
 }
Exemple #7
0
 public virtual void MissionStart(AI_Base brain, Character_Base character)
 {
     currentAction = ActionList[0];
 }