Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API refactor #18

Open
gotmachine opened this issue Jul 29, 2021 · 0 comments
Open

API refactor #18

gotmachine opened this issue Jul 29, 2021 · 0 comments
Labels
code enhancement New feature or request

Comments

@gotmachine
Copy link
Contributor

gotmachine commented Jul 29, 2021

Replace the reflection based API with a plugin system.

Support for another mod should be done by making a separate assembly that has Kerbalism and the mod as references. That assembly should be renamed with something like *.kerbalismplugin, and loaded conditionally by Kerbalism when the target mod is detected.

This will allow full access to the Kerbalism codebase from other mods without us requiring to implement anything specific.

In some cases, this can be unpractical. Since the target mod can't reference the plugin, the plugin must take care of extending/replacing the base mod behavior, which will likely require a bit of refactoring in the main mod assembly.

For that to work, we should likely provide a few callbacks for the main Kerbalism functions and update cycle, so people can make plugins without having to define a KSPAddon.

@gotmachine gotmachine added code enhancement New feature or request labels Jul 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant