MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / findModuleTypes

Method findModuleTypes

Engine/source/module/moduleManager.cpp:1069–1108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1067//-----------------------------------------------------------------------------
1068
1069void ModuleManager::findModuleTypes( const char* pModuleType, const bool loadedOnly, typeConstModuleDefinitionVector& moduleDefinitions )
1070{
1071 // Fetch module type.
1072 StringTableEntry moduleType = StringTable->insert( pModuleType );
1073
1074 // Iterate module Ids.
1075 for( typeModuleIdDatabaseHash::iterator moduleIdItr = mModuleIdDatabase.begin(); moduleIdItr != mModuleIdDatabase.end(); ++moduleIdItr )
1076 {
1077 // Fetch module definition entry.
1078 ModuleDefinitionEntry* pModuleDefinitionEntry = moduleIdItr->value;
1079
1080 // Skip if note the module type we're searching for.
1081 if ( pModuleDefinitionEntry->mModuleType != moduleType )
1082 continue;
1083
1084 // Iterate module definitions.
1085 for ( typeModuleDefinitionVector::iterator moduleDefinitionItr = pModuleDefinitionEntry->begin(); moduleDefinitionItr != pModuleDefinitionEntry->end(); ++moduleDefinitionItr )
1086 {
1087 // Fetch module definition.
1088 ModuleDefinition* pModuleDefinition = *moduleDefinitionItr;
1089
1090 // Are we searching for loaded modules only?
1091 if ( loadedOnly )
1092 {
1093 // Yes, so skip if the module is not loaded.
1094 if ( pModuleDefinition->getLoadCount() == 0 )
1095 continue;
1096
1097 // Use module definition.
1098 moduleDefinitions.push_back( pModuleDefinition );
1099
1100 // Finish iterating module definitions as only a single module in this entry can be loaded concurrently.
1101 break;
1102 }
1103
1104 // use module definition.
1105 moduleDefinitions.push_back( pModuleDefinition );
1106 }
1107 }
1108}
1109
1110//-----------------------------------------------------------------------------
1111

Callers 1

Calls 5

getLoadCountMethod · 0.80
insertMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected