public void PerformInterruption(Status interruptionStatus)
 {
     if (isRunning)
     {
         isInterrupted = true;
         returnStatus  = interruptionStatus;
         BehaviourTree.Interrupt(Child);
     }
 }
        private void Evaluate()
        {
            // Try to get a higher utility branch.
            int previousChild = highestUtilityChild;

            highestUtilityChild = HighestUtilityBranch();

            // Found new higher utility.
            if (previousChild != highestUtilityChild)
            {
                BehaviourTree.Interrupt(GetChildAt(previousChild));

                // Mark the interruption as a failure, so the select goes to next child.
                lastChildExitStatus = Status.Failure;
            }
        }