Exemplo n.º 1
0
        public BehaviourTreeStatus Tick(TreeData data)
        {
            foreach (var child in children)
            {
                var childStatus = child.Tick(data);
                if (childStatus != BehaviourTreeStatus.Failure)
                {
                    return(childStatus);
                }
            }

            return(BehaviourTreeStatus.Failure);
        }
        public BehaviourTreeStatus Tick(TreeData data)
        {
            if (currNodeIndex < children.Count)
            {
                var childStatus = children[currNodeIndex].Tick(data);
                if (childStatus != BehaviourTreeStatus.Success)
                {
                    return(childStatus);
                }
                else if (childStatus == BehaviourTreeStatus.Success)
                {
                    currNodeIndex++;
                    return(childStatus);
                }
            }

            return(BehaviourTreeStatus.Success);
        }
        public BehaviourTreeStatus Tick(TreeData data)
        {
            if (childNode == null)
            {
                throw new ApplicationException("InverterNode must have a child node!");
            }

            var result = childNode.Tick(data);
            if (result == BehaviourTreeStatus.Failure)
            {
                return BehaviourTreeStatus.Success;
            }
            else if (result == BehaviourTreeStatus.Success)
            {
                return BehaviourTreeStatus.Success;
            }
            else
            {
                return result;
            }
        }
Exemplo n.º 4
0
 public virtual BehaviourTreeStatus Tick(TreeData data)
 {
     return(fn(data));
 }