Hey Folks! Most of today's work was on toggle switches for the ship.
All of the previous GUI work I've been doing was partially to get the general GUI system running, and to make it support signal conduits, the ship editor, selection brackets, and AI. The first test UI was a non-interactive meter that the user could wire to various items on the ship.
The toggle is going to be the next improvement to the GUI: a widget that the player can interact with during the simulation mode, and have it affect things on the ship. Here's what I'm thinking for the first iteration:
Like with the battery meter, there will be a front panel the user can interact with (the top half of the screenshot), as well as an internal panel for adjusting the inputs and settings for the controls (bottom half). Most of the time, the player will have their AI walk to the controls, and they'll flip toggles, read meters, and do other UI things. During ship building, and possibly during ship repairs, the player will access the internal panel to rewire things and change labels, etc.
In this case, there is support for up to 4 connected items, with each switch controlling some aspect of the connected item. The current plan is for each of these toggles to trigger an interaction on the connected item, since interactions can apply or remove conditions, initiate a mode switch, and do other things which cover most of our needs. And probably, the user will click each screw as they did with the meter UI, and be presented with a list of potential connections.
However, now that I say it "out loud," I think there's a missing piece. Namely, each toggle will probably need to fire separate interactions when "ON" vs "OFF." E.g. the HVAC input will probably need a "Mode Switch: On" interaction when toggled on, and a "Mode Switch: Off" interaction when toggled off. So that probably means we have four "screws" to control what we're connected to, with two interactions to choose for each "screw." (The "ON" interaction and the "OFF.") That'll mean some rearranging of UI.
I was considering how to test this on the ship, and almost started working on something more complex (like an airlock cycling UI), but I think getting this simple case might be a better stepping stone. There's already a lot to tackle in just this simple case.
Should be fun once it's up and running, though. I could conceivably hook this up to remote airlocks, air pumps, and even lights! Okay, maybe "fun" is too strong a word :)