Signal Conduit Selector UI

Hey Folks! Continuing work on the signal conduit system today. I managed to put a lot of code down, but I still have a bit more to go before it does anything.

The main thing today was getting the control panel to query its tiles for any devices that fit the criteria for input. This includes anything sharing a tile with the panel (e.g. the battery itself in the battery charge panel), as well as any distant device connected by a conduit. This info is then stored on the panel, so the user can choose which input they want to hook up (if any).

Another big part of this was the actual UI for choosing input(s). Making the gold screw and input text for the panel was just one part of it. There needs to be some way to see all possible inputs to that screw, and to choose one from that list.

So I spent some time this morning working out a scrolling button list that shows each conduit type and what's at the other end, and the code to populate that list with valid options. I'm nearly there, and as of now, I'm writing the part that tells this scrolling list what options there are. I believe I have the code to gather these options, and the layouts to show them, and I just need to pull it all together.

No doubt there will be bugs once I run it for the first time. Compiler errors, null pointers, missing options, layout issues...the system is pretty complex and spans several pieces. However, once I get that sorted out, I should be able to do the following:

  • Place something on the ship that needs a control panel for player/AI to access it.
  • Place a control panel somewhere else on the ship.
  • Place one or more colored signal conduits to connect them on the ship.
  • Choose that control panel.
  • Choose the GUI I want to edit from that control panel's possible GUIs.
  • See what the GUI looks like.
  • Click on the screws in that GUI to see the wiring underneath.
  • Click one of the input screws to see what devices are available to this panel.
  • Choose one.
  • Close up the GUI, and see if it worked!

There's probably a lot of streamlining to be done with the above workflow, too. However, I reminded myself this morning that I'm in "game jam mode," and successfully stopped myself from going into the weeds on making the conduit placement more streamlined. Still need to get this stuff all working first. See if it's fun, or even hints at being fun. Then we can start streamlining :)