![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
The application interface.
An application implements the IApp interface to integrate to the engine.
Create a callback object with a given callback table.
Example of a callback table:
Is is allowed to omit unused callback functions and to add user specific fields to the table.
Murl.IApp new(Table callbackTable)
callbackTable | A table containing the methods to callback. |
Configure the application. This method is called by the platform first of all to provide the current platform configuration to the application. At this point the application can read the platform configuration and setup the app configuration and the engine configuration. The application can return false to abort starting the application.
Boolean Configure(Murl.IEngineConfiguration engineConfig, Murl.IFileInterface fileInterface)
engineConfig | The engine configuration object. |
fileInterface | The file interface object. |
Check if the current app configuration matches a given user ID. This method is called by the engine whenever a resource object or graph node needs to be created that depends on some user-defined condition. The app should return true whenever the queried user configuration ID matches the current configuration.
Boolean IsUserConfigurationMatching(String userConfigId)
userConfigId | A string representing the user-defined configuration to be queried. |
Register custom add-ons with the engine. This method is called by the engine core before initializing the application, and also before any of the other register methods below. It allows the application to create and register custom add-ons as needed, which in turn are allowed to register their own factory and module classes.
Boolean RegisterCustomAddonClasses(Murl.IAppAddonRegistry addonRegistry)
addonRegistry | The registry to access individual add-ons. |
Unregister custom add-ons from the engine. This method is called by the engine core after deinitializing the application, and after all configuration-dependent modules and factory classes have been released. See RegisterCustomAddonClasses().
Boolean UnregisterCustomAddonClasses(Murl.IAppAddonRegistry addonRegistry)
addonRegistry | The registry to access individual add-ons. |
Initialize the application. This method is called by the engine core for application initialization. At this point an application can trigger loading resources and creating Logic::IProcessor objects.
Boolean Init(Murl.IAppState appState)
appState | The application state object. |
Deinitialize the application. This method is called by the engine core for application deinitialization. At this point an application can destroy Logic::IProcessor objects.
Boolean DeInit(Murl.IAppState appState)
appState | The application state object. |