fix interpreted statics
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
+5
-4
@@ -503,20 +503,21 @@ namespace ScriptCanvas
|
|||||||
|
|
||||||
void InitializeInterpretedStatics(RuntimeData& runtimeData)
|
void InitializeInterpretedStatics(RuntimeData& runtimeData)
|
||||||
{
|
{
|
||||||
if (!runtimeData.m_areStaticsInitialized)
|
AZ_Error("ScriptCanvas", !runtimeData.m_areStaticsInitialized, "ScriptCanvas runtime data already initalized");
|
||||||
{
|
{
|
||||||
runtimeData.m_areStaticsInitialized = true;
|
runtimeData.m_areStaticsInitialized = true;
|
||||||
|
|
||||||
for (auto& dependency : runtimeData.m_requiredAssets)
|
for (auto& dependency : runtimeData.m_requiredAssets)
|
||||||
{
|
{
|
||||||
InitializeInterpretedStatics(dependency.Get()->GetData());
|
if (!dependency.Get()->GetData().m_areStaticsInitialized)
|
||||||
|
{
|
||||||
|
InitializeInterpretedStatics(dependency.Get()->GetData());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(AZ_PROFILE_BUILD) || defined(AZ_DEBUG_BUILD)
|
#if defined(AZ_PROFILE_BUILD) || defined(AZ_DEBUG_BUILD)
|
||||||
Execution::InitializeFromLuaStackFunctions(const_cast<Grammar::DebugSymbolMap&>(runtimeData.m_debugMap));
|
Execution::InitializeFromLuaStackFunctions(const_cast<Grammar::DebugSymbolMap&>(runtimeData.m_debugMap));
|
||||||
#endif
|
#endif
|
||||||
AZ_WarningOnce("ScriptCanvas", !runtimeData.m_areStaticsInitialized, "ScriptCanvas runtime data already initalized");
|
|
||||||
|
|
||||||
if (runtimeData.RequiresStaticInitialization())
|
if (runtimeData.RequiresStaticInitialization())
|
||||||
{
|
{
|
||||||
AZ::ScriptLoadResult result{};
|
AZ::ScriptLoadResult result{};
|
||||||
|
|||||||
+4
-1
@@ -49,7 +49,10 @@ namespace ScriptCanvas
|
|||||||
, config.asset.GetId().ToString<AZStd::string>().data());
|
, config.asset.GetId().ToString<AZStd::string>().data());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Execution::InitializeInterpretedStatics(runtimeAsset->GetData());
|
if (!runtimeAsset->GetData().m_areStaticsInitialized)
|
||||||
|
{
|
||||||
|
Execution::InitializeInterpretedStatics(runtimeAsset->GetData());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExecutionStateInterpreted::ClearLuaRegistryIndex()
|
void ExecutionStateInterpreted::ClearLuaRegistryIndex()
|
||||||
|
|||||||
Reference in New Issue
Block a user