Esempio n. 1
0
 protected virtual void DoActions(CharacterStateController controller)
 {
     for (int i = 0; i < actions.Length; i++)
     {
         actions[i].Execute(controller);
     }
 }
Esempio n. 2
0
 public void OnEnterState(CharacterStateController controller)
 {
     for (int i = 0; i < enterActions.Length; i++)
     {
         enterActions[i].Execute(controller);
     }
 }
Esempio n. 3
0
        private void CheckTransitions(CharacterStateController controller)
        {
            for (int i = 0; i < transitions.Length; i++)
            {
                bool decisionSucceeded = true;
                for (int j = 0; j < transitions[i].decision.Length; j++)
                {
                    decisionSucceeded = decisionSucceeded && transitions[i].decision[j].Decide(controller);
                }


                if (decisionSucceeded)
                {
                    controller.TransitionToState(transitions[i].trueState);
                }
                else
                {
                    controller.TransitionToState(transitions[i].falseState);
                }
            }
        }
Esempio n. 4
0
        // public abstract void Execute(StateController controller);

        public virtual void Execute(CharacterStateController controller)
        {
        }
Esempio n. 5
0
 // Every time we are calling this function we are evaluating all the actions and decisions connected to the state
 public void UpdateState(CharacterStateController controller)
 {
     DoActions(controller);
     CheckTransitions(controller);
 }
Esempio n. 6
0
 public virtual bool Decide(CharacterStateController controller)
 {
     return(true);
 }