Open 3D Engine ScriptCanvas Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
ScriptCanvas::Slot Class Referencefinal

Inherits VariableNotificationBus::Handler.

Public Types

enum class  DataType : AZ::s32 { NoData , Data , VariableReference }
 
enum class  IsVariableTypeChange { No , Yes }
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (Slot, AZ::SystemAllocator)
 
 AZ_TYPE_INFO (Slot, "{FBFE0F02-4C26-475F-A28B-18D3A533C13C}")
 
 Slot (const Slot &slot)
 
 Slot (Slot &&slot)
 
 Slot (const SlotConfiguration &slotConfiguration)
 
Slotoperator= (const Slot &slot)
 
void AddContract (const ContractDescriptor &contractDesc)
 
void ClearDynamicGroup ()
 
template<typename T >
T * FindContract ()
 
template<typename T >
void RemoveContract ()
 
AZStd::vector< AZStd::unique_ptr< Contract > > & GetContracts ()
 
const AZStd::vector< AZStd::unique_ptr< Contract > > & GetContracts () const
 
void ConvertToLatentExecutionOut ()
 
CombinedSlotType GetType () const
 
const SlotDescriptorGetDescriptor () const
 
const SlotIdGetId () const
 
const NodeGetNode () const
 
NodeGetNode ()
 
Endpoint GetEndpoint () const
 
AZ::EntityId GetNodeId () const
 
void SetNode (Node *node)
 
void InitializeVariables ()
 
const AZStd::string & GetName () const
 
const AZStd::string & GetToolTip () const
 
Data::Type GetDataType () const
 
bool IsConnected () const
 
bool IsData () const
 
const DatumFindDatum () const
 
bool FindModifiableDatumView (ModifiableDatumView &datumView)
 
bool IsVariableReference () const
 
bool CanHaveInputField () const
 
bool CreatesImplicitConnections () const
 
bool IsNameHidden () const
 
bool CanConvertTypes () const
 
bool CanConvertToValue () const
 
bool ConvertToValue ()
 
bool CanConvertToReference (bool isNewSlot=false) const
 
bool ConvertToReference (bool isNewSlot=false)
 
void SetVariableReference (const VariableId &variableId, IsVariableTypeChange isTypeChange=IsVariableTypeChange::No)
 
const VariableIdGetVariableReference () const
 
GraphVariableGetVariable () const
 
void ClearVariableReference ()
 
bool IsExecution () const
 
bool IsVisible () const
 
bool IsUserAdded () const
 
void SetVisible (bool isVisible)
 
bool IsInput () const
 
bool IsOutput () const
 
ScriptCanvas::ConnectionType GetConnectionType () const
 
bool IsLatent () const
 
void SetDynamicDataType (DynamicDataType dynamicDataType)
 
const DynamicDataType & GetDynamicDataType () const
 
bool IsDynamicSlot () const
 
void SetDisplayType (Data::Type displayType)
 
void ClearDisplayType ()
 
Data::Type GetDisplayType () const
 
bool HasDisplayType () const
 
bool IsSanityCheckRequired () const
 
AZ::Crc32 GetDisplayGroup () const
 
void SetDisplayGroup (AZStd::string displayGroup)
 
AZ::Crc32 GetDynamicGroup () const
 
AZ::Outcome< void, AZStd::string > IsTypeMatchFor (const Slot &slot) const
 
AZ::Outcome< void, AZStd::string > IsTypeMatchFor (const Data::Type &dataType) const
 
void SetToolTip (const AZStd::string &toolTip)
 
void Rename (AZStd::string_view slotName)
 
void SignalRenamed ()
 
void SignalTypeChanged (const ScriptCanvas::Data::Type &dataType)
 
void UpdateDatumVisibility ()
 
TransientSlotIdentifier GetTransientIdentifier () const
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *reflection)
 

Protected Member Functions

void SetDynamicGroup (const AZ::Crc32 &dynamicGroup)
 

Protected Attributes

bool m_isOverload = false
 
bool m_isVisible = true
 
bool m_isUserAdded = false
 
bool m_createsImplicitConnections = false
 
AZStd::string m_name
 
AZStd::string m_toolTip
 
AZ::Crc32 m_displayGroup
 
AZ::Crc32 m_dynamicGroup
 
bool m_canHaveInputField = true
 
bool m_isNameHidden = false
 
bool m_isLatentSlot = false
 
SlotDescriptor m_descriptor
 
bool m_isVariableReference = false
 
DataType m_dataType = DataType::NoData
 
VariableId m_variableReference
 
GraphVariablem_variable = nullptr
 
DynamicDataType m_dynamicDataType { DynamicDataType::None }
 
ScriptCanvas::Data::Type m_displayDataType { ScriptCanvas::Data::Type::Invalid() }
 
SlotId m_id
 
Nodem_node
 
AZStd::vector< AZStd::unique_ptr< Contract > > m_contracts
 
bool m_needsNodePropertyDisplay = true
 

Friends

class Node
 

The documentation for this class was generated from the following file: