I think SiegeMaster's suggestion is a bit better, giving settings to make a cone makes it more flexible than my suggestion and with the right implementation can cover my cases as well.
So far we have X and Y to set the exact position of the searchlight, as well as returning found targets to the circuit network with the help of A and W.
What exactly is the difference of W and A? as far as I c an tell it does the same, set the variable to 1 when it spots something.
I'd like to stay on the Signal-Input as settings route, it allows for a more complex setup if needed by anyone, so my suggest stays on this route.
I suggest to add 4 more variables (names and letter can of course be adjusted):
- Radius R: reduces the search field from 360° to R°, making it cone shaped in front of the searchlight direction.
- Rotation Z: rotates the cone around the Axis centered on the searchlight itself, allowing you to rotate the searchlights search-cone to a specified direction.
- Minimum M and Maximum N: minimum and maximum distance the search light search area.
Any unset signals should make it default back to its regular behaviour on that variable, for example only setting R simply limits its search area to a cone in front of it, minimum distance and max distance untouched. (rotating the turret via R key could allow for a simple 90° switch)
I imagine a target-cone like the flamethrower, but dynamicly changeable via the variables. It would be fantastic if was possible to show the green target area like the flamethrower does. All these settings could be easily setup by a single constant combinator, easy to setup and feed into multiple searchlights all around the base. With the default rotation of the searchlight (R-Key) you could feed the same signal to multiple searchlights around the base without changing the signal at all. (Westwall searchlights are rotated 180° via R key compared to the eastwall searchlights, both use the same signals)
Maybe implementing custom signals, like the Logistic Train Network mod, would be useful at this point, allowing all these variables to be used base-wide again.