public MyDetectedEntityInfo?CheckTarget(TargetList targetList) { if (!turret.IsShooting) { return(null); } Vector3D coords = GetTargetCoords(currentScanRange); foreach (IMyCameraBlock c in Cameras) { if (c.CanScan(coords)) { MyDetectedEntityInfo temp = c.Raycast(coords); if (!temp.IsEmpty()) { if (targetList.IsFriendly(temp)) { currentScanRange = 32; return(null); } currentScanRange = (temp.Position - turret.GetPosition()).Length(); targetList.Add(temp); return(temp); } currentScanRange = scanRange; } } return(null); }