public static AIBehavior alloc(IAIBehaviorProvider p_IAIBehaviorProvider) { AIBehavior l_instance = new AIBehavior(); l_instance.IAIBehaviorProvider = p_IAIBehaviorProvider; return(l_instance); }
public static TreeIterationResult iterate(AIBehavior p_aiBehavior) { IAIBehaviorProvider l_aiBehaviorProvider = p_aiBehavior.IAIBehaviorProvider; DecisionTree l_decisionTree = DecisionTree.alloc(); l_aiBehaviorProvider.buildDecisionTree(l_decisionTree, p_aiBehavior.AssociatedEntity); RefList <AIDecisionTreeChoice> l_choices = Traversal.traverseDecisionTree(l_decisionTree); ref AIDecisionTreeChoice l_choice = ref l_aiBehaviorProvider.get_choicePicking().Invoke(l_choices, p_aiBehavior.AssociatedEntity);