private void DoActions(BrainController controller) { for (int i = 0; i < actions.Length; i++) { actions [i].Act(controller); } }
private void CheckTransitions(BrainController controller) { for (int i = 0; i < transitions.Length; i++) { bool decisionSucceeded = transitions [i].decision.Decide(controller); if (decisionSucceeded) { controller.TransitionToState(transitions [i].trueState); } else { controller.TransitionToState(transitions [i].falseState); } } }
public abstract void Act(BrainController controller);
public abstract bool Decide(BrainController controller);
public void UpdateState(BrainController controller) { DoActions(controller); CheckTransitions(controller); }