Example #1
0
        public void OnUpdate()
        {
            if (IsEmpty())
            {
                return;
            }

            GOAPAction action = steps.Peek();

            action.OnUpdate();
            if (action.IsFinished())
            {
                action.ApplyWorldStateEffect(CurWorldState);
                action.OnExit(CurWorldState);
                steps.Dequeue();
                if (steps.Count > 0)
                {
                    steps.Peek().OnEnter();
                }
            }
        }
Example #2
0
 protected virtual float GetH(GOAPAction action, GOAPGoal goal)
 {
     return(0);
 }
Example #3
0
 protected virtual float GetCost(GOAPAction action, GOAPGoal goal)
 {
     return(1);
 }