18#include "aeongames/Component.hpp"
19#include "aeongames/StringId.hpp"
20#include "ModelComponent.h"
22#include "PointLight.h"
27 bool AeonEngineComponentsStartUp()
31 return std::make_unique<AeonGames::ModelComponent>();
35 return std::make_unique<AeonGames::Camera>();
39 return std::make_unique<AeonGames::PointLight>();
44 void AeonEngineComponentsShutdown()
53 "AeonEngine Components",
54 "Default Component Implementations",
55 AeonEngineComponentsStartUp,
56 AeonEngineComponentsShutdown
Defines the plugin module interface for dynamically loaded plugins.
static const StringId & GetClassId()
Returns the class identifier for the Camera component.
static const StringId & GetClassId()
Returns the class identifier for the ModelComponent.
static const StringId & GetClassId()
Returns the class identifier for the PointLight component.
DLL bool RegisterComponentConstructor(const StringId &aIdentifier, const std::function< std::unique_ptr< Component >() > &aConstructor)
Registers a Component loader for a specific identifier.
DLL bool UnregisterComponentConstructor(const StringId &aIdentifier)
Unregisters a Component loader for a specific identifier.
Interface that every loadable plugin module must expose.