Yes, I aggree the naming of the pipes can be a bit confusng. What I did, I gave each possible state for the pipe, the short name for each one of the directions is has connections with. (Lt - has left connection, Rt - has right connection, Up - has up connection, Dn-has doen connection.) I also read the connections clockwise.
To see this, you can go on each pipe, and inspect the IterativeStateComponent States array, and have a list of all possible states (positions) for that pipe.
Here are some naming examples,
- the** L** segment, in this position is UpRt, as it can connect with up and right. If you would rotate it by 90 it will have connections to right and down, thus DnRt.
- a I segment, in this position will be UpDn. If you wourld rotate it becomes **---- **and it will be LfRt
- a + segment, is LfUpDnRt no matter hwo you rotate it, as it will have connections in all 4 directions.
If you find this confusing too, you can rename all states in the IterativeStateComponent of the pipes, and then change the Rule condition accordingly. So, state names for each pipe could be as simple as 1, 2, 3, 4… , and then have the correct succession in the Rues array.
I hope this answers your question.
Please let me know If ther is anything else I can help you with.