Implement Plugin Loader #2
Notifications
Due Date
No due date set.
Blocks
#1 Split SraiX Services into separate plugin DLLs
tononixAI/CamsAI
#3 Finish implementing weather SraiX as new plugin variant
tononixAI/CamsAI
Reference: tononixAI/CamsAI#2
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
To accomodate issue #1, I'll need to implement a plugin loader into the engine. This should ideally use the Assembly object from C# to load the compiled assembly from it's plugin folder. Since we're also using PHP via PeachPie, we can also extend this to allow for plugins to be written in PHP as well.
We will have an abstract class and an interface for creating plugins, this way the developers will only need to worry about initializing their respective plugins, and "teaching" the AI the plugin's AIML. This may be done automatically through the use of class constants in the plugin code and some hackery with the initalization code in the abstract class.
This doesn't have to be just for SraiX services, I'd also like to make the Maintainance AI component separate from the main engine as well, so it can easily be swapped out for different operating systems.