7#include "plugify/mem_addr.hpp"
8#include "plugify/method.hpp"
9#include "plugify/types.hpp"
67 virtual void OnUpdate(std::chrono::milliseconds deltaTime) = 0;
Interface for user-implemented language modules.
virtual bool IsDebugBuild()=0
Determine if language module is build with debugging mode.
virtual void OnMethodExport(const Extension &plugin)=0
Handle method export event.
virtual Result< LoadData > OnPluginLoad(const Extension &plugin)=0
Handle plugin load event.
virtual Result< InitData > Initialize(const Provider &provider, const Extension &module)=0
Initialize the language module.
virtual void Shutdown()=0
Shutdown the language module.
virtual void OnUpdate(std::chrono::milliseconds deltaTime)=0
Handle actions to be performed on each frame.
virtual void OnPluginEnd(const Extension &plugin)=0
Handle plugin end event.
virtual void OnPluginStart(const Extension &plugin)=0
Handle plugin start event.
virtual void OnPluginUpdate(const Extension &plugin, std::chrono::milliseconds deltaTime)=0
Handle plugin update event.
A wrapper class for memory addresses, providing utility functions for pointer manipulation.
Holds information about the initialization result.
Holds information about the load result.
std::vector< MethodData > methods
Methods exported by the loaded plugin.
MemAddr data
Data associated with the loaded plugin.
MethodTable table
Method table for the loaded plugin.
Represents a table of method availability flags.