internal override bool DetectOr() { // Read the state of the current node bool detectedOr = this.PossibleOrCollision; // Reset the flags on the current node this.PossibleOrCollision = false; // Process the children of the node if preset bool detectOrRChild = false; bool detectOrLChild = false; if (RightChild != null) { detectOrRChild = RightChild.DetectOr(); } if (LeftChild != null) { detectOrLChild = LeftChild.DetectOr(); } return(detectedOr || detectOrRChild || detectOrLChild); }