|
|
|
|
@ -140,21 +140,10 @@ namespace
|
|
|
|
|
// If the reflected method returns an AZ::Event, reflect it to the SerializeContext
|
|
|
|
|
if (AZ::MethodReturnsAzEventByReferenceOrPointer(method))
|
|
|
|
|
{
|
|
|
|
|
AZ::SerializeContext* serializeContext{};
|
|
|
|
|
AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext);
|
|
|
|
|
const AZ::BehaviorParameter* resultParameter = method.GetResult();
|
|
|
|
|
AZ::SerializeContext::ClassData classData;
|
|
|
|
|
classData.m_name = resultParameter->m_name;
|
|
|
|
|
classData.m_typeId = resultParameter->m_typeId;
|
|
|
|
|
classData.m_azRtti = resultParameter->m_azRtti;
|
|
|
|
|
|
|
|
|
|
auto EventPlaceholderAnyCreator = [](AZ::SerializeContext*) -> AZStd::any
|
|
|
|
|
{
|
|
|
|
|
return AZStd::make_any<AZStd::monostate>();
|
|
|
|
|
};
|
|
|
|
|
serializeContext->RegisterType(resultParameter->m_typeId, AZStd::move(classData), EventPlaceholderAnyCreator);
|
|
|
|
|
|
|
|
|
|
ScriptCanvas::ReflectEventTypeOnDemand(resultParameter->m_typeId, resultParameter->m_name, resultParameter->m_azRtti);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nodePaletteModel.RegisterClassNode(categoryPath, behaviorClass ? behaviorClass->m_name : "", name, &method, &behaviorContext, propertyStatus, isOverloaded);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -177,19 +166,8 @@ namespace
|
|
|
|
|
// If the reflected method returns an AZ::Event, reflect it to the SerializeContext
|
|
|
|
|
if (AZ::MethodReturnsAzEventByReferenceOrPointer(behaviorMethod))
|
|
|
|
|
{
|
|
|
|
|
AZ::SerializeContext* serializeContext{};
|
|
|
|
|
AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext);
|
|
|
|
|
const AZ::BehaviorParameter* resultParameter = behaviorMethod.GetResult();
|
|
|
|
|
AZ::SerializeContext::ClassData classData;
|
|
|
|
|
classData.m_name = resultParameter->m_name;
|
|
|
|
|
classData.m_typeId = resultParameter->m_typeId;
|
|
|
|
|
classData.m_azRtti = resultParameter->m_azRtti;
|
|
|
|
|
|
|
|
|
|
auto EventPlaceholderAnyCreator = [](AZ::SerializeContext*) -> AZStd::any
|
|
|
|
|
{
|
|
|
|
|
return AZStd::make_any<AZStd::monostate>();
|
|
|
|
|
};
|
|
|
|
|
serializeContext->RegisterType(resultParameter->m_typeId, AZStd::move(classData), EventPlaceholderAnyCreator);
|
|
|
|
|
ScriptCanvas::ReflectEventTypeOnDemand(resultParameter->m_typeId, resultParameter->m_name, resultParameter->m_azRtti);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
nodePaletteModel.RegisterMethodNode(behaviorContext, behaviorMethod);
|
|
|
|
|
|