Uninstall Tasks

Hey Folks! A bit better for progress today, as I added the ability to paint "uninstall" tasks around the ship, plus some other fixes and improvements.

Getting uninstall to be paintable ended up requiring a small change to the code that auto-generates install/uninstall interactions. I added some extra data to each that describes which action menu item it relates to, so the action menu can know which interactions to paint in each case. Uninstall is the first such action like that, but this could apply to repair, patch, scrap, or other tasks that can be applied to multiple object types.

Note that Cancel was a bit different, in that it doesn't add interaction tasks to the list, it removes them. So it didn't need this info. I could just remove tasks from the object in question without knowing what they are.

You'll notice the new icon for it is also the cursor we're painting with. I used Michael's UI-based cursor prefab here to avoid the tile-based cursor we use when installing items within the grid. It doesn't have the grid-snapping, and the code is a bit cleaner.

You might also notice I've changed the button labels to abbreviations. I decided to do that both here and for the install categories. For one thing, it makes the text more uniform looking. But it also adds a bit of aviation lingo style to it. Aviation and space controls are really fond of weird abbreviations :)

I added some more quality of life code, too. The menu now disappears and clears the cursor on a right click. Auto-generated tasks won't appear on docked derelicts anymore (otherwise, the entire derelict has repair tasks assigned upon docking). I tweaked the stack count text (e.g. "x17") on items so it only renders when in view of the player. No more swarms of floating white text in blackness!

There was also a bug or two in the wait AI found nearby tools, and claimed the next task if the first one failed. Both of these were found while using the tools to repair conduits on a derelict. And once all the kinks are out, I think this'll be much easier on the user! Just paint the stuff you want fixed, then paint the stuff you're fine sacrificing to get the parts you need. And then watch the AI go to town!

Next up might be "haul" as a task. I'm a bit unsure how we're going to tell the AI to do this, as it's nature is a bit different than applying an interaction on a target. This requires checking which zones are seeking which loot, and telling the AI to find similar items, pick them up, ferry them over to that zone, and drop them. All things they can do individually, but nothing to prescribe that whole process.

Good thing I have a weekend to mull it over :) Have a good one, all!

Tags: Ostranauts