Lysa  0.0
Lysa 3D Engine
TypeRegistry Class Reference

Detailed Description

Register custom nodes types used to map the node's description in JSON scene files and real classes

Static Public Member Functions

template<typename T >
static std::shared_ptr< T > makeShared (const std::string &clazz)
 
template<typename T >
static void registerType (const std::string &clazz)
 

Static Public Attributes

static std::unique_ptr< std::map< std::string, std::function< std::shared_ptr< Object >()> > > typeMap {nullptr}
 

Member Function Documentation

static std::shared_ptr<T> makeShared ( const std::string &  clazz)
inlinestatic

Creates a new shared pointer to a new instance of type clazz with casting to the type T

static void registerType ( const std::string &  clazz)
inlinestatic

Register a new class. Use it when registering from code. If you want to register outside a bloc of code use the Z0_REGISTER_TYPE(class) macro after your class declaration

Member Data Documentation

std::unique_ptr< std::map< std::string, std::function< std::shared_ptr< Object >()> > > typeMap {nullptr}
static