How to keep track of networked parts of a building system

Hi all,

I am making a game at the moment where players put down floor tiles, as well as some other components (machines, power generators etc).

It has a similar foundation mechanic to games like Ark or Rust, but is limited to one floor and 90 degrees.

My power system is intended to work such that each tile had a consumption and production value, with a “network” keeping track of what is available to consume.

I need to find a way to essentially network all connected tiles, and keep track of any group gets cut off from the rest, or if a new area is made (so a new network) and is later connected to another (2 networks into 1).

I posted on reddit, and was basically told to check for neighbours with collision, but I can’t see how it will let me track disconnections without looping through neighbours infinitely.

Any ideas? Sorry for the ramble, not totally great at putting my thoughts into words, let me know if I need to clarify.