using UnityEngine; using System.Collections; public class DecisionTree { public delegate bool Decision(); public Decision decision; public delegate void Action(); public Action action; private DecisionTree right; private DecisionTree left; public DecisionTree() { right = null; left = null; decision = null; action = null; } public bool isLeaf() { return (right == null && left == null); } public void setDecision(Decision d) { decision = d; } public void setAction(Action a) { action += a; } public void setLeft(DecisionTree node) { left = node; } public void setRight(DecisionTree node) { right = node; } public void search() { if (isLeaf()) { action(); } else if (decision() == true) { left.search(); } else if (decision() == false) { right.search(); } } }