Closed MOARdV closed 6 years ago
Now that I've looked into this a bit more, I think it makes more sense to have the basic flying saucer controls under fs
to toggle the Flying Saucer specific parts, and a separate VTOL controller to interface with the WBIVTOLManager - the latter would then also be able to support VTOL spaceplanes or what-have-you.
More redesigning...
VTOL manager is definitely viable, and I've got it working now.
Gravitic engines are descendants of the stock ModuleEngine, so I can notionally just use the stock engine controls for them.
The resource converters (Fusion Reactor and Gravity Wave Generator) are both descendants of ModuleResourceConverter. Instead of hard-coding special cases in MAS for these converters, I should add a general-purpose resource converter category system, where a MASFlightComputer can opt-in to particular converters, like "Assign resource converters that output resource 'x' to group 'n'". I'll write that up as a new feature.
Still need to add tilt-rotor support, and query methods to determine when the submodules are installed and available (which requires code changes in WBIVTOLManager).
EDIT: Oh, yeah, and the AirPark manager module.
Remaining feature categories are supported, other than the custom controller, which will require a bespoke interface per custom controller, since the VTOL manager doesn't know anything about the custom controller other than it exists (it's custom, after all). The WBIGraviticEngine Crazy Mode is a custom controller type.
The other feature that would be nice for MAS is a way to ask the VTOL manager which features are supported on a given vessel - not every one has a rotation controller, for instance. That will require tweaks to KerbalActuators to expose the query methods. I can fake it with the rotation controller by returning 'true' if either CanRotateMax or CanRotateMin return true, but the other ones don't have a capabilities query. I could fork the code and write the change myself, I suppose.
And one last-last feature - currently, there's no query for the current rotation controller position. I can increase / decrease the value, but I can't report it. I'll see if that's easy to add to KerbalActuators.
I think I've got the WBI VTOL Manager covered, now. There are some other Kerbal Actuator features that I may tackle at a later time (such as remote arm manipulation).
Used on the Kerbal Flying Saucer currently under development.
Basic hover controls should be easy to interface with, from the looks of it.