Merge branch 'main' into SpawnableEntityIdMapping

This commit is contained in:
AMZN-koppersr
2021-06-04 14:00:06 -07:00
76 changed files with 962 additions and 340 deletions
@@ -340,31 +340,31 @@ namespace
}
// Pass in the associated class data so we can do more intensive lookups?
const AZ::SerializeContext::ClassData* classData = serializeContext.FindClassData(node.first);
const AZ::SerializeContext::ClassData* nodeClassData = serializeContext.FindClassData(node.first);
if (classData == nullptr)
if (nodeClassData == nullptr)
{
continue;
}
// Detect primitive types os we avoid making nodes out of them.
// Or anything that is 'pure data' and should be populated through a different mechanism.
if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::PureData>())
if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::PureData>())
{
continue;
}
// Skip over some of our more dynamic nodes that we want to populate using different means
else if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::GetVariableNode>())
else if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::GetVariableNode>())
{
continue;
}
else if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::SetVariableNode>())
else if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::SetVariableNode>())
{
continue;
}
else
{
nodePaletteModel.RegisterCustomNode(categoryPath, node.first, node.second, classData);
nodePaletteModel.RegisterCustomNode(categoryPath, node.first, node.second, nodeClassData);
}
}
@@ -563,13 +563,13 @@ namespace ScriptCanvasEditor
else if (slotType == GraphCanvas::SlotTypes::DataSlot)
{
const AZ::EntityId& slotId2 = GetTargetId();
const GraphCanvas::GraphId& graphId = GetGraphId();
const GraphCanvas::GraphId& graphId2 = GetGraphId();
GraphCanvas::Endpoint endpoint;
GraphCanvas::SlotRequestBus::EventResult(endpoint, slotId2, &GraphCanvas::SlotRequests::GetEndpoint);
bool promotedElement = false;
GraphCanvas::GraphModelRequestBus::EventResult(promotedElement, graphId, &GraphCanvas::GraphModelRequests::PromoteToVariableAction, endpoint);
GraphCanvas::GraphModelRequestBus::EventResult(promotedElement, graphId2, &GraphCanvas::GraphModelRequests::PromoteToVariableAction, endpoint);
if (promotedElement)
{
@@ -4090,23 +4090,23 @@ namespace ScriptCanvas
auto userFunctionIter = m_userInsThatRequireTopology.find(nodeling);
if (userFunctionIter != m_userInsThatRequireTopology.end())
{
auto& node = *userFunctionIter->first;
auto outSlots = node.GetSlotsByType(CombinedSlotType::ExecutionOut);
auto& userFunctionNode = *userFunctionIter->first;
auto outSlots = userFunctionNode.GetSlotsByType(CombinedSlotType::ExecutionOut);
if (outSlots.empty() || !outSlots.front())
{
AddError(node.GetEntityId(), nullptr, ScriptCanvas::ParseErrors::NoOutSlotInFunctionDefinitionStart);
AddError(userFunctionNode.GetEntityId(), nullptr, ScriptCanvas::ParseErrors::NoOutSlotInFunctionDefinitionStart);
return;
}
if (!ExecutionContainsCyclesCheck(node, *outSlots.front()))
if (!ExecutionContainsCyclesCheck(userFunctionNode, *outSlots.front()))
{
auto definition = userFunctionIter->second;
auto entrySlot = definition->GetId().m_slot;
AZ_Assert(entrySlot, "Bad accounting in user function definition node");
AZStd::vector<VariablePtr> returnValues;
UserOutCallCollector userOutCallCollector;
TraverseExecutionConnections(node, *entrySlot, userOutCallCollector);
TraverseExecutionConnections(userFunctionNode, *entrySlot, userOutCallCollector);
const AZStd::unordered_set<const ScriptCanvas::Nodes::Core::FunctionDefinitionNode*>& uniqueNodelingsOut = userOutCallCollector.GetOutCalls();
for (const auto& returnCall : uniqueNodelingsOut)
@@ -121,13 +121,13 @@ namespace ScriptCanvas
{
if (slotId == ExpressionNodeBaseProperty::GetInSlotId(this))
{
for (const SlotId& slotId : m_dirtyInputs)
for (const SlotId& dirtySlotId : m_dirtyInputs)
{
auto variableIter = m_slotToVariableMap.find(slotId);
auto variableIter = m_slotToVariableMap.find(dirtySlotId);
if (variableIter != m_slotToVariableMap.end())
{
PushVariable(variableIter->second, (*FindDatum(slotId)));
PushVariable(variableIter->second, (*FindDatum(dirtySlotId)));
}
}