752 {
753 bool isTrue = (under_left_close == under_right_close && under_right_close == under_left_far && under_left_far == under_right_far);
754 #ifdef DIAG_DEVELOPER
755 DebugLog(
"IsBaseIntact(must be true and all equal): ",
true, isTrue,
" | ulc: " +
Object.GetDebugName(under_left_close) +
" | urc: " +
Object.GetDebugName(under_right_close) +
" | ulf: " +
Object.GetDebugName(under_left_far) +
" | urf: " +
Object.GetDebugName(under_right_far));
756 if (!isTrue)
757 {
758 array<bool> conditions = new array<bool>();
759 conditions.Insert(under_left_close == null);
760 conditions.Insert(under_right_close == null);
761 conditions.Insert(under_left_far == null);
762 conditions.Insert(under_right_far == null);
763
764 int amountOfNull = 0;
765 if (!under_left_close)
766 ++amountOfNull;
767 if (!under_right_close)
768 ++amountOfNull;
769 if (!under_left_far)
770 ++amountOfNull;
771 if (!under_right_far)
772 ++amountOfNull;
773
774 if ( amountOfNull < 3 )
775 for ( int i = 0; i < conditions.Count(); ++i)
776 conditions[i] = !conditions[i];
777
778 DrawBaseSpheres(conditions);
779 }
780 #endif
781
782 return isTrue;
783 }