Open 3D Engine ScriptCanvas Gem API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ScriptCanvas::Slot Class Referencefinal

Inherits Handler.

Public Types

enum  DataType : AZ::s32 { NoData, Data, VariableReference }
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (Slot, AZ::SystemAllocator, 0)
 
 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
 
void FindModifiableDatumView (ModifiableDatumView &datumView)
 
bool IsVariableReference () 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)
 
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
 
AZStd::string m_name
 
AZStd::string m_toolTip
 
AZ::Crc32 m_displayGroup
 
AZ::Crc32 m_dynamicGroup
 
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
 

Friends

class Node
 

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