#include <Slot.h>
Public Member Functions | |
AZ_CLASS_ALLOCATOR (SlotDefinition, AZ::SystemAllocator) | |
AZ_RTTI (SlotDefinition, "{917F9C1A-1513-4694-B25A-D6404A4991ED}") | |
SlotDefinition (SlotDirection slotDirection, SlotType slotType, const AZStd::string &name, const AZStd::string &displayName, const AZStd::string &description={}, const DataTypeList &supportedDataTypes={}, const AZStd::any &defaultValue={}, int minimumSlots={}, int maximumSlots={}, const AZStd::string &addButtonLabel={}, const AZStd::string &addButtonTooltip={}, const AZStd::vector< AZStd::string > &enumValues={}, bool visibleOnNode=true, bool editableOnNode=true) | |
SlotDirection | GetSlotDirection () const |
SlotType | GetSlotType () const |
bool | SupportsValues () const |
Returns true if this slot supports assigning values. | |
bool | SupportsDataTypes () const |
Returns true if this slot supports data types. | |
bool | SupportsConnections () const |
Returns whether this slot's configuration allows connections to other slots. | |
bool | SupportsExtendability () const |
Returns whether or not this slot is configured to be extendable. | |
bool | IsVisibleOnNode () const |
Return true if this slot is configured to appear on node UI, otherwise false. | |
bool | IsEditableOnNode () const |
Returns true if the value of this slot should be editable on the node UI, otherwise false. | |
bool | Is (SlotDirection slotDirection, SlotType slotType) const |
Returns whether this slot matches the given configuration. | |
const SlotName & | GetName () const |
Valid for all slot configurations. | |
const AZStd::string & | GetDisplayName () const |
Valid for all slot configurations. | |
const AZStd::string & | GetDescription () const |
Valid for all slot configurations. | |
const DataTypeList & | GetSupportedDataTypes () const |
Valid for Data and Property slots. Otherwise returns an empty DataTypeList. | |
AZStd::any | GetDefaultValue () const |
Valid for Input Data and Property slots. Otherwise returns an empty AZStd::any. | |
const AZStd::vector< AZStd::string > & | GetEnumValues () const |
Options exposed if this slot type is an enumeration with multiple values. | |
const int | GetMinimumSlots () const |
These methods are only pertinent for extendable slots. | |
const int | GetMaximumSlots () const |
Retrieve the maximum configured number of extendable slots (returns a default value if not configured) | |
const AZStd::string & | GetExtensionLabel () const |
Retrieve the text for the label with the '+' sign for adding extendable slots. | |
const AZStd::string & | GetExtensionTooltip () const |
Retrieve the hover tooltip for the label with the '+' sign for adding extendable slots. | |
Provides static information about a Slot, like its name and data type. The set of features provided by this slot is determined by the combination of SlotDirection and SlotType, which is set depending on which Create* function is used to create the SlotDefinition.
This information will either be hard-coded for each Node type, or reflected from some other source, so it does not need to be saved with the Node data (i.e. it isn't added to a SerializeContext).
See the Node class documentation for more.
(We take the approach of using a single class with some features unused in specific configurations because it ends up being cleaner than a complex class hierarchy).
const int GraphModel::SlotDefinition::GetMinimumSlots | ( | ) | const |
These methods are only pertinent for extendable slots.
Retrieve the minimum configured number of extendable slots (returns a default value if not configured)