18 virtual void Bind(
void) = 0;
32 return _core.RegisterSystem<TScheduler>(systems...);
43 return _core.RegisterResource(std::forward<TResource>(resource));
62 return _core.RegisterScheduler<TScheduler>(std::forward<Args>(args)...);
80 if (!
_core.HasPlugin<TPlugin>())
82 _core.AddPlugins<TPlugin>();
Core & GetCore()
Get a reference to the core. This can be used to register systems and resources in the Bind method.
Definition APlugin.hpp:69
decltype(auto) RegisterSystems(Systems... systems)
Register systems to a scheduler.
Definition APlugin.hpp:30
APlugin(Core &core)
Constructor for APlugin. It takes a reference to the Core, which is used to register systems and reso...
Definition APlugin.hpp:15
void RequirePlugin()
Add a plugin to the core if it is not already added.
Definition APlugin.hpp:78
TScheduler & RegisterScheduler(Args &&...args)
Register a scheduler in the core.
Definition APlugin.hpp:60
Core & _core
Reference to the core, which is used to register systems and resources in the Bind method.
Definition APlugin.hpp:87
void RequirePlugins()
Add a plugin to the core.
Definition APlugin.hpp:50
virtual void Bind(void)=0
Pure virtual method that must be implemented by derived plugin classes. This method is called when th...
TResource & RegisterResource(TResource &&resource)
Register a resource in the core.
Definition APlugin.hpp:41
The core is the place where all the data of the engine is stored. It contains the registry (entities)...
Definition Core.hpp:33
Interface for plugins that can be added to the engine.
Definition IPlugin.hpp:6