ModuleSystem: Lookup CInterface methods when calling module create func

This commit is contained in:
Lukas Joergensen 2019-08-03 15:04:21 +02:00 committed by Lukas Aldershaab
parent 68b6884665
commit fe09d6e125
2 changed files with 15 additions and 10 deletions

View file

@ -38,6 +38,8 @@
#include "console/consoleTypes.h"
#endif
#include "cinterface/cinterface.h"
#ifndef _MODULE_DEFINITION_H
#include "module/moduleDefinition.h"
#endif
@ -837,16 +839,7 @@ bool ModuleManager::loadModuleExplicit( const char* pModuleId, const U32 version
const bool scriptFileExecuted = dAtob( Con::executef("exec", pLoadReadyModuleDefinition->getModuleScriptFilePath() ) );
// Did we execute the script file?
if ( scriptFileExecuted )
{
// Yes, so is the create method available?
if ( pScopeSet->isMethod( pLoadReadyModuleDefinition->getCreateFunction() ) )
{
// Yes, so call the create method.
Con::executef( pScopeSet, pLoadReadyModuleDefinition->getCreateFunction() );
}
}
else
if ( !scriptFileExecuted )
{
// No, so warn.
Con::errorf( "Module Manager: Cannot load explicit module Id '%s' at version Id '%d' as it failed to have the script file '%s' loaded.",
@ -854,6 +847,13 @@ bool ModuleManager::loadModuleExplicit( const char* pModuleId, const U32 version
}
}
// Is the create method available?
if (pScopeSet->isMethod(pLoadReadyModuleDefinition->getCreateFunction()))
{
// Yes, so call the create method.
Con::executef(pScopeSet, pLoadReadyModuleDefinition->getCreateFunction());
}
// Raise notifications.
raiseModulePostLoadNotifications( pLoadReadyModuleDefinition );
}