template<class loader_t>
class ugdk::script::InheritableLangWrapper< loader_t >
Wraps a scripting language.
Classes derived from this should implement it's methods to wrap a given language in the system.
Besides this interface, derived classes should implement a method
bool RegisterModule(const string& moduleName, T initFunction)
where moduleName is the name of the module, as to be imported from the language; T is a language specific module init function type; initFunction is the pointer to a function of the said type to initialize the module in the language (SWIG generates these functions in the wrappers) and the bool return value tells if the module was registered correctly.
Also, in order to properly add a scripting language to the system, besides implementing this class, you need to derive the VirtualData class (like this, implementing it specific to your language), modify whatever compiling mechanisms you use to make SWIG generate the wrappers to your language; and finally, when using the scripting system, properly registering your specific wrapper in the ScriptManager and the wrapper modules you want in your LangWrapper.