Optimize static Visual Script event calling

This commit is contained in:
Wojtek Figat
2022-05-03 21:12:29 +02:00
parent 225cc38ea8
commit bc6b70f4f9

View File

@@ -1750,6 +1750,7 @@ void VisualScriptingBinaryModule::OnEvent(ScriptingObject* object, Span<Variant>
else
{
// Static event
bool called = false;
for (auto& asset : Content::GetAssetsRaw())
{
if (const auto visualScript = ScriptingObject::Cast<VisualScript>(asset.Value))
@@ -1763,10 +1764,13 @@ void VisualScriptingBinaryModule::OnEvent(ScriptingObject* object, Span<Variant>
continue;
for (auto& m : b.BindedMethods)
{
VisualScripting::Invoke(m, object, parameters);
VisualScripting::Invoke(m, nullptr, parameters);
}
called = true;
}
}
if (called)
break;
}
}
}