Minor nit: You should define `var inVisionRange = target.IsInRange(self.CenterPosition, info.VisionRange)` above this to avoid calculating this twice (it is also used in the else if below).