public bool Detect(Transform objectTofilter, bool filterByTag, bool filterByDistance, bool filterByArc, bool filterByVisibility) { if (filterByTag && tagFilter.Pass(objectTofilter) == false) { return(false); } if (filterByDistance && distanceFilter.Pass(sensorTransform.position, objectTofilter.position) == false) { return(false); } if (filterByArc && arcFilter.Pass(sensorTransform.position, objectTofilter.position) == false) { return(false); } if (filterByVisibility && visabilityChecker.Pass(objectTofilter.position) == false) { return(false); } return(true); }