You can use a sphere trace on your poles to get other other poles nearby. The same for Power sources.
Or you can add a Collision sphere component with overlap functionality to the Pole and Generator classes.
Forgot to note…
I’d use enum states on the Poles/buildings.
HasPower(enum)
- None
- Direct (directly connected to a generator)
- Chained