void SolvePriority(RaycastHit2D newInfo, RaycastSensor newSensor) { bool isNewBetter = newSensor.GetPriority() < currentValidSensor.GetPriority(); currentValidGroundInfo = isNewBetter ? newInfo : currentValidGroundInfo; currentValidSensor = isNewBetter ? newSensor : currentValidSensor; }
void OnGroundSensor(RaycastHit2D info, RaycastSensor groundDetectorSensor) { if (!dirty) { currentValidSensor = groundDetectorSensor; currentValidGroundInfo = info; } else { SolvePriority(info, groundDetectorSensor); } dirty = true; }
void OnSensorDetection(RaycastHit2D rayHit, RaycastSensor sensor) { count++; }