void InspectReflect::Initialize() { if ( g_InspectReflectInitStack.Increment() == 1 ) { g_InspectReflectInitStack.Push( Inspect::Initialize, Inspect::Cleanup ); // scalars ReflectFieldInterpreterFactory::Register<ReflectBitfieldInterpreter>( Reflect::GetClass<Reflect::BitfieldData>() ); ReflectFieldInterpreterFactory::Register<ReflectVectorInterpreter>( Reflect::GetClass<Reflect::Vector2Data>() ); ReflectFieldInterpreterFactory::Register<ReflectVectorInterpreter>( Reflect::GetClass<Reflect::Vector3Data>() ); ReflectFieldInterpreterFactory::Register<ReflectVectorInterpreter>( Reflect::GetClass<Reflect::Vector4Data>() ); ReflectFieldInterpreterFactory::Register<ReflectColorInterpreter>( Reflect::GetClass<Reflect::Color3Data>() ); ReflectFieldInterpreterFactory::Register<ReflectColorInterpreter>( Reflect::GetClass<Reflect::HDRColor3Data>() ); ReflectFieldInterpreterFactory::Register<ReflectColorInterpreter>( Reflect::GetClass<Reflect::Color4Data>() ); ReflectFieldInterpreterFactory::Register<ReflectColorInterpreter>( Reflect::GetClass<Reflect::HDRColor4Data>() ); // containers ReflectFieldInterpreterFactory::Register<ReflectStlVectorInterpreter>( Reflect::GetClass<Reflect::StlVectorData>() ); ReflectFieldInterpreterFactory::Register<ReflectStlSetInterpreter>( Reflect::GetClass<Reflect::StlSetData>() ); // paths ReflectFieldInterpreterFactory::Register<PathInterpreter>( Reflect::GetClass<Reflect::PathData>() ); ReflectFieldInterpreterFactory::Register<PathContainerInterpreter>( Reflect::GetClass<Reflect::PathStlVectorData>() ); ReflectFieldInterpreterFactory::Register<PathContainerInterpreter>( Reflect::GetClass<Reflect::PathStlSetData>() ); } }
void Editor::Initialize() { if ( g_EditorSceneInitStack.Increment() == 1 ) { // core library initiailization g_EditorSceneInitStack.Push( PropertiesGenerator::Initialize, PropertiesGenerator::Cleanup ); } }
void Helium::CoreInitialize() { if ( g_CoreInitStack.Increment() == 1 ) { g_CoreInitStack.Push( &Asset::Initialize, &Asset::Cleanup ); g_CoreInitStack.Push( Reflect::RegisterStructureType< TestStructure >( TXT( "TestStructure" ) ) ); g_CoreInitStack.Push( Reflect::RegisterClassType< Project >( TXT( "Project" ) ) ); g_CoreInitStack.Push( Reflect::RegisterClassType< Settings >( TXT( "Settings" ) ) ); g_CoreInitStack.Push( Reflect::RegisterClassType< SettingsManager >( TXT( "SettingsManager" ) ) ); g_CoreInitStack.Push( &SceneGraph::Initialize, &SceneGraph::Cleanup ); } }