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

Expand API classes exposed to modules #648

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

BenjaminAmos
Copy link
Contributor

@BenjaminAmos BenjaminAmos commented Feb 12, 2022

Description

This pull request fixes some of the issues with code modules currently by exposing the new ECS classes as API classes, as well as the GameOptions class, which was omitted previously. It also fixes DestinationSol/warp#3 by wrapping the SaveManager write methods with AccessController::doPrivileged. The save read methods have not been wrapped, since having modules re-load the current world might be considered too destructive.

Testing

  • The API classes should now be accessible from modules. This can't be tested directly with the current line-up but after this change warp might start using the GameOptions class
  • Use the ability of the Warp Endeavour ship and ensure that the crash in Warp Endeavour ability causes game crash DestinationSol/warp#3 does not occur.

Notes

ECS System classes have not been included as API classes, since I believe that the intention was for communication between systems to occur via components and events, rather than directly. I am open to changing this though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Warp Endeavour ability causes game crash
1 participant