public NodeStatus Tick(Tree <Behaviour> .Node self, Agent agent)
        {
            Tree <Behaviour> .Node child       = self.GetChild(0);
            NodeStatus             childStatus = child.Element.Tick(child, agent);

            return(childStatus == NodeStatus.Success ? NodeStatus.Failure : NodeStatus.Success);
        }
        public NodeStatus Tick(Tree <Behaviour> .Node self, Agent agent)
        {
            for (int i = 0; i < self.ChildCount; i++)
            {
                Tree <Behaviour> .Node child       = self.GetChild(i);
                NodeStatus             childStatus = child.Element.Tick(child, agent);
                if (childStatus != NodeStatus.Failure)
                {
                    return(childStatus);
                }
            }

            return(NodeStatus.Failure);
        }