Integrating latest 47acbe8

This commit is contained in:
alexpete
2021-03-25 13:57:57 -07:00
parent 448c549698
commit 75dc720198
10312 changed files with 2711566 additions and 671451 deletions
@@ -194,7 +194,7 @@ namespace ScriptCanvas
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &GraphVariable::OnValueChanged)
->DataElement(AZ::Edit::UIHandlers::Default, &GraphVariable::m_networkProperties, "Network Properties", "Enables whether or not this value should be network synchronized")
->Attribute(AZ::Edit::Attributes::Visibility, &GraphVariable::GetScriptInputControlVisibility)
->Attribute(AZ::Edit::Attributes::Visibility, &GraphVariable::GetNetworkSettingsVisibility)
->DataElement(AZ::Edit::UIHandlers::Default, &GraphVariable::m_sortPriority, "Display Order", "Allows for customizable display order. -1 implies it will be at the end of the list.")
->Attribute(AZ::Edit::Attributes::Visibility, &GraphVariable::GetInputControlVisibility)
->Attribute(AZ::Edit::Attributes::ChangeNotify, &GraphVariable::OnSortPriorityChanged)
@@ -324,6 +324,11 @@ namespace ScriptCanvas
datumView.ConfigureView((*this));
}
bool GraphVariable::IsExposedAsComponentInput() const
{
return IsInScope(VariableFlags::Scope::Input);
}
void GraphVariable::SetVariableName(AZStd::string_view variableName)
{
m_variableName = variableName;
@@ -355,6 +360,18 @@ namespace ScriptCanvas
return m_inputControlVisibility;
}
AZ::Crc32 GraphVariable::GetNetworkSettingsVisibility() const
{
bool showNetworkSettings = false;
ScriptCanvasSettingsRequestBus::BroadcastResult(showNetworkSettings, &ScriptCanvasSettingsRequests::CanShowNetworkSettings);
if (!showNetworkSettings)
{
return AZ::Edit::PropertyVisibility::Hide;
}
return AZ::Edit::PropertyVisibility::Show;
}
AZ::Crc32 GraphVariable::GetScriptInputControlVisibility() const
{
AZ::Data::AssetType assetType = AZ::Data::AssetType::CreateNull();
@@ -376,7 +393,7 @@ namespace ScriptCanvas
AZ::Data::AssetType assetType = AZ::Data::AssetType::CreateNull();
ScriptCanvas::RuntimeRequestBus::EventResult(assetType, m_scriptCanvasId, &ScriptCanvas::RuntimeRequests::GetAssetType);
if (assetType == azrtti_typeid<ScriptCanvas::RuntimeFunctionAsset>())
if (assetType == azrtti_typeid<ScriptCanvas::SubgraphInterfaceAsset>())
{
return AZ::Edit::PropertyVisibility::Show;
}
@@ -494,9 +511,9 @@ namespace ScriptCanvas
VariableNotificationBus::Event(GetGraphScopedId(), &VariableNotifications::OnVariableValueChanged);
}
AZStd::vector<AZStd::pair<AZ::u8, AZStd::string>> GraphVariable::GetScopes() const
AZStd::vector<AZStd::pair<VariableFlags::Scope, AZStd::string>> GraphVariable::GetScopes() const
{
AZStd::vector< AZStd::pair<AZ::u8, AZStd::string>> scopes;
AZStd::vector< AZStd::pair<VariableFlags::Scope, AZStd::string>> scopes;
scopes.emplace_back(AZStd::make_pair(VariableFlags::Scope::Local, VariableFlags::GetScopeDisplayLabel(VariableFlags::Scope::Local)));
scopes.emplace_back(AZStd::make_pair(VariableFlags::Scope::Input, VariableFlags::GetScopeDisplayLabel(VariableFlags::Scope::Input)));
@@ -520,7 +537,7 @@ namespace ScriptCanvas
AZ::Data::AssetType assetType = AZ::Data::AssetType::CreateNull();
ScriptCanvas::RuntimeRequestBus::EventResult(assetType, m_scriptCanvasId, &ScriptCanvas::RuntimeRequests::GetAssetType);
return assetType == azrtti_typeid<ScriptCanvas::RuntimeFunctionAsset>();
return assetType == azrtti_typeid<ScriptCanvas::SubgraphInterfaceAsset>();
}
void GraphVariable::OnScopeTypedChanged()
@@ -50,7 +50,7 @@ namespace ScriptCanvas
};
}
enum Scope : AZ::u8
enum class Scope : AZ::u8
{
Local = 0,
Input = 1,
@@ -76,7 +76,7 @@ namespace ScriptCanvas
AZ_CLASS_ALLOCATOR(GraphVariable, AZ::SystemAllocator, 0);
static void Reflect(AZ::ReflectContext* context);
static const char* GetVariableNotificationBusName() { return "VariableNotification"; }
static const char* GetVariableNotificationBusName() { return k_OnVariableWriteEbusName; }
class Comparator
{
@@ -125,6 +125,9 @@ namespace ScriptCanvas
const VariableId& GetVariableId() const;
const Datum* GetDatum() const;
bool IsExposedAsComponentInput() const;
void ConfigureDatumView(ModifiableDatumView& accessController);
void SetVariableName(AZStd::string_view displayName);
@@ -137,6 +140,7 @@ namespace ScriptCanvas
AZ::Crc32 GetInputControlVisibility() const;
AZ::Crc32 GetScriptInputControlVisibility() const;
AZ::Crc32 GetNetworkSettingsVisibility() const;
AZ::Crc32 GetFunctionInputControlVisibility() const;
AZ::Crc32 GetVisibility() const;
@@ -163,7 +167,7 @@ namespace ScriptCanvas
// Editor Callbacks
void OnDatumEdited(const Datum* datum) override;
AZStd::vector<AZStd::pair<AZ::u8, AZStd::string>> GetScopes() const;
AZStd::vector<AZStd::pair<VariableFlags::Scope, AZStd::string>> GetScopes() const;
////
int GetSortPriority() const;
@@ -58,7 +58,7 @@ namespace ScriptCanvas
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<CopiedVariableData>()
->Version(1)
->Version(2)
->Field("Mapping", &CopiedVariableData::m_variableMapping)
;
@@ -77,10 +77,15 @@ namespace ScriptCanvas
void GraphVariableManagerComponent::Activate()
{
if (!GraphConfigurationNotificationBus::Handler::BusIsConnectedId(GetEntityId()))
{
GraphConfigurationNotificationBus::Handler::BusConnect(GetEntityId());
}
}
void GraphVariableManagerComponent::Deactivate()
{
GraphVariableManagerRequestBus::Handler::BusDisconnect();
}
void GraphVariableManagerComponent::ConfigureScriptCanvasId(const ScriptCanvasId& scriptCanvasId)
@@ -318,13 +323,13 @@ namespace ScriptCanvas
return m_variableData.FindVariable(varName);
}
GraphVariable* GraphVariableManagerComponent::FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& blacklistId)
GraphVariable* GraphVariableManagerComponent::FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& excludedVariableIds)
{
for (auto& variablePair : m_variableData.GetVariables())
{
if (variablePair.second.GetDataType() == dataType)
{
if (blacklistId.count(variablePair.first) == 0)
if (excludedVariableIds.count(variablePair.first) == 0)
{
return &variablePair.second;
}
@@ -73,7 +73,7 @@ namespace ScriptCanvas
GraphVariable* FindVariable(AZStd::string_view propName) override;
GraphVariable* FindVariableById(const VariableId& variableId) override;
GraphVariable* FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& blacklistId) override;
GraphVariable* FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& excludedVariableIds) override;
Data::Type GetVariableType(const VariableId& variableId) override;
@@ -23,7 +23,7 @@ namespace ScriptCanvas
{
class VariableData;
// Bus Interface for adding, removing and finding exposed Variable datums associated with a ScriptCanvas Graph
//! Bus Interface for adding, removing and finding exposed Variable datums associated with a ScriptCanvas Graph
class VariableRequests
: public AZ::EBusTraits
{
@@ -142,7 +142,7 @@ namespace ScriptCanvas
//! The variable datum pointer is non-null if the variable has been found
virtual GraphVariable* FindVariableById(const VariableId& varId) = 0;
virtual GraphVariable* FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& blacklistId) = 0;
virtual GraphVariable* FindFirstVariableWithType(const Data::Type& dataType, const AZStd::unordered_set< ScriptCanvas::VariableId >& excludedVariableIds) = 0;
//! Returns the type associated with the specified variable.
virtual Data::Type GetVariableType(const VariableId& variableId) = 0;
@@ -33,7 +33,7 @@ namespace ScriptCanvas
VariableId(const VariableId&) = default;
explicit VariableId(const AZ::Uuid& uniqueId)
AZ_INLINE explicit VariableId(const AZ::Uuid& uniqueId)
: m_id(uniqueId)
{}
@@ -45,28 +45,38 @@ namespace ScriptCanvas
static void Reflect(AZ::ReflectContext* context);
static VariableId MakeVariableId();
const AZ::Uuid& GetDatumId() const { return m_id; }
AZ_INLINE const AZ::Uuid& GetDatumId() const { return m_id; }
bool IsValid() const
AZ_INLINE bool IsValid() const
{
return !m_id.IsNull();
}
AZStd::string ToString() const
AZ_INLINE AZStd::string ToString() const
{
return m_id.ToString<AZStd::string>();
}
bool operator==(const VariableId& rhs) const
AZ_INLINE bool operator==(const VariableId& rhs) const
{
return m_id == rhs.m_id;
}
bool operator!=(const VariableId& rhs) const
AZ_INLINE bool operator!=(const VariableId& rhs) const
{
return !operator==(rhs);
}
AZ_INLINE bool operator<(const VariableId& rhs) const
{
return m_id < rhs.m_id;
}
AZ_INLINE bool operator>(const VariableId& rhs) const
{
return m_id > rhs.m_id;
}
AZ::Uuid m_id{ AZ::Uuid::CreateNull() };
};
@@ -129,4 +129,4 @@ namespace ScriptCanvas
AZStd::string m_name;
AZStd::list<EditableVariableConfiguration> m_variables;
};
} // namespace ScriptCanvas
}