Add custom configs and custom loaders #41
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
In order to allow proper customization and configuration, prototypes need to be separated from the config that controls them. Furthermore, the loading behavior needs to be split from the prototype and the config so we can avoid issues related to ownership and async.
Solution
Custom
Config
Split the configuration type out of
Prototypical
so a prototype can be controlled by a custom config type. This means that users can choose between adding callbacks toProtoConfig
or rolling out their ownConfig
type for even more control.See example for usage.
Custom
Loader
Users can now supply their own
Loader
types to the plugin. This can be used to handle deserialization and pre-processing of prototype assets during the load phase.See example for usage.