Implement Plugin Loader #2

Open
opened 2023-06-15 21:13:14 +00:00 by Tonoxis · 0 comments
Owner

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.

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.
Tonoxis added a new dependency 2023-06-15 21:14:37 +00:00
Tonoxis added this to the AI Engine project 2023-06-15 21:16:40 +00:00
Tonoxis added the
enhancement
label 2023-06-15 21:17:49 +00:00
Tonoxis added a new dependency 2023-06-16 03:00:21 +00:00
Sign in to join this conversation.
No description provided.