示例#1
0
 public virtual void Activate()
 {
     /*AgentAction*/ AgentAction = MakeAgentAction();
     if (AgentAction != null)
     {
         AgentAction.GoapAction = this;
         Owner.AddAction(AgentAction);
     }
 }
    public override void UpdateGOAPAction()
    {
        if ((AgentAction as AgentActionAttackMelee).attackPhaseDone && NumberOfAttacks > 0)
        {
            if (CurrentAttacktype == OrderAttackType.X)
            {
                CurrentAttacktype = OrderAttackType.O;
            }
            else
            {
                CurrentAttacktype = OrderAttackType.X;
            }

            //Owner.SoundPlayPrepareAttack();
            if (AgentAction != null)
            {
                AgentAction.GoapAction = null;
                AgentAction            = MakeAgentAction();
                AgentAction.GoapAction = this;
                Owner.AddAction(AgentAction);
            }
        }
    }