Open 3D Engine ScriptCanvas Gem API Reference
23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Typedefs | |
using | AssetRegistryRequestBus = AZ::EBus< AssetRegistryRequests > |
using | ExecutionLogAssetEBus = AZ::EBus< ExecutionLogAssetBus > |
using | RuntimeAssetPtr = AZ::Data::Asset< RuntimeAsset > |
using | ConnectionRequestBus = AZ::EBus< ConnectionRequests > |
using | ContractCreationFunction = AZStd::function< Contract *()> |
Function which will be invoked when a slot is created to allow the creation of a slot contract object. | |
typedef AZStd::unordered_set < ScriptCanvas::Data::Type > | DataTypeSet |
typedef AZStd::unordered_map < size_t, DataTypeSet > | DataSetIndexMapping |
typedef AZStd::unordered_map < size_t, ScriptCanvas::Data::Type > | DataIndexMapping |
using | GraphPtr = Graph * |
using | GraphPtrConst = const Graph * |
using | ID = AZ::EntityId |
using | NamespacePath = AZStd::vector< AZStd::string > |
using | NodeIdList = AZStd::vector< ID > |
using | NodePtrList = AZStd::vector< Node * > |
using | NodePtrConstList = AZStd::vector< const Node * > |
using | PropertyFields = AZStd::vector< AZStd::pair< AZStd::string_view, SlotId >> |
using | NamedActiveEntityId = AZ::NamedEntityId |
using | NamedNodeId = NamedId< AZ::EntityId > |
using | NamedSlotId = NamedId< SlotId > |
using | NodeTypeIdentifier = AZStd::size_t |
using | EBusEventId = AZ::Crc32 |
using | EBusBusId = AZ::Crc32 |
using | ScriptCanvasId = AZ::EntityId |
using | DependencySet = AZStd::unordered_set< NamespacePath, NamespacePathHasher > |
using | ScriptCanvasSettingsRequestBus = AZ::EBus< ScriptCanvasSettingsRequests > |
using | DataPtr = AZStd::intrusive_ptr< ScriptCanvasData > |
using | DataPtrConst = AZStd::intrusive_ptr< const ScriptCanvasData > |
using | ComparisonOutcome = AZ::Outcome< bool, AZStd::string > |
using | DatumNotificationBus = AZ::EBus< DatumNotifications > |
using | DatumSystemNotificationBus = AZ::EBus< DatumSystemNotifications > |
using | EBusHandlerNodeRequestBus = AZ::EBus< EBusHandlerNodeRequests > |
using | Timestamp = AZ::u64 |
using | ActiveGraphStatusMap = AZStd::unordered_map< AZ::Data::AssetId, ActiveGraphStatus > |
using | EntityActiveGraphStatusMap = AZStd::unordered_map< GraphIdentifier, ActiveGraphStatus > |
using | ActiveEntityStatusMap = AZStd::unordered_map< AZ::EntityId, ActiveEntityStatus > |
using | ActiveEntitiesAndGraphs = AZStd::pair< ActiveEntityStatusMap, ActiveGraphStatusMap > |
using | SlotDataMap = AZStd::unordered_map< NamedSlotId, DatumValue > |
using | VariableValues = AZStd::unordered_map< VariableId, AZStd::pair< AZStd::string, DatumValue >> |
using | Breakpoint = TaggedParent< BreakpointTag, Signal > |
using | ExecutionThreadEnd = TaggedParent< ExecutionThreadEndTag, GraphInfo > |
using | GraphActivation = TaggedParent< GraphActivationTag, ActivationInfo > |
using | GraphDeactivation = TaggedParent< GraphDeactivationTag, ActivationInfo > |
using | InputSignal = TaggedParent< InputSignalTag, Signal > |
using | OutputSignal = TaggedParent< OutputSignalTag, Signal > |
using | VariableChange = TaggedDataValue< VariableChangeTag > |
using | ExecutionNotificationsBus = AZ::EBus< ExecutionNotifications > |
using | EndpointMapConstIterator = AZStd::unordered_multimap< Endpoint, Endpoint >::const_iterator |
using | GraphRequestBus = AZ::EBus< GraphRequests > |
using | GraphNotificationBus = AZ::EBus< GraphNotifications > |
using | GraphConfigurationRequestBus = AZ::EBus< GraphConfigurationRequests > |
using | GraphConfigurationNotificationBus = AZ::EBus< GraphConfigurationNotifications > |
using | EndpointNotificationBus = AZ::EBus< EndpointNotifications > |
typedef GraphScopedIdentifier < VariableId > | GraphScopedVariableId |
typedef GraphScopedIdentifier < AZ::EntityId > | GraphScopedNodeId |
typedef GraphScopedIdentifier < Endpoint > | GraphScopedEndpoint |
using | ExecutionNameMap = AZStd::unordered_multimap< AZStd::string, AZStd::string > |
using | ConstSlotsOutcome = AZ::Outcome< AZStd::vector< const Slot * >, AZStd::string > |
using | SlotsOutcome = AZ::Outcome< AZStd::vector< Slot * >, AZStd::string > |
using | EndpointResolved = AZStd::pair< const Node *, const Slot * > |
using | EndpointsResolved = AZStd::vector< EndpointResolved > |
using | NodeRequestBus = AZ::EBus< NodeRequests > |
using | LogNotificationBus = AZ::EBus< LogNotifications > |
using | NodeNotificationsBus = AZ::EBus< NodeNotifications > |
template<typename t_Func , typename t_Traits , t_Func function> | |
using | NodeFunctionGenericMultiReturn = NodeFunctionGenericMultiReturnImpl< function, t_Traits > |
using | NodelingRequestBus = AZ::EBus< NodelingRequests > |
using | NodelingNotificationBus = AZ::EBus< NodelingNotifications > |
using | SystemRequestBus = AZ::EBus< SystemRequests > |
using | BatchOperationNotificationBus = AZ::EBus< BatchOperationNotifications > |
using | SerializationListeners = AZStd::vector< SerializationListener * > |
using | BehaviorContextObjectPtr = AZStd::intrusive_ptr< BehaviorContextObject > |
using | GraphOwnerIdType = AZ::EntityId |
using | RuntimeIdType = AZ::EntityId |
using | StatusRequestBus = AZ::EBus< StatusRequests > |
using | ValidationRequestBus = AZ::EBus< ValidationRequests > |
using | ValidationPtr = AZStd::intrusive_ptr< ValidationEvent > |
using | ValidationConstPtr = AZStd::intrusive_ptr< const ValidationEvent > |
using | VariableDatum = Deprecated::VariableDatum |
using | ErrorReporterBus = AZ::EBus< ErrorReporter > |
using | ExecutionStateConstPtr = const ExecutionState * |
using | ExecutionStatePtr = ExecutionState * |
using | ExecutionStateWeakConstPtr = const ExecutionState * |
using | ExecutionStateWeakPtr = ExecutionState * |
using | ExecutionStateInterpretedConstPtr = const ExecutionStateInterpreted * |
using | ExecutionStateInterpretedPtr = ExecutionStateInterpreted * |
using | ExecutionStateInterpretedPureConstPtr = const ExecutionStateInterpretedPure * |
using | ExecutionStateInterpretedPurePtr = ExecutionStateInterpretedPure * |
using | ExecutionStateInterpretedSingletonConstPtr = const ExecutionStateInterpretedSingleton * |
using | ExecutionStateInterpretedSingletonPtr = ExecutionStateInterpretedSingleton * |
using | ExecutionUserData = AZStd::any |
using | ReplacementEndpointPairs = AZStd::unordered_set< AZStd::pair< Endpoint, Endpoint >> |
using | ReplacementConnectionMap = AZStd::unordered_map< AZ::EntityId, ReplacementEndpointPairs > |
using | GraphVariableMapping = AZStd::unordered_map< VariableId, GraphVariable > |
using | VariableRequestBus = AZ::EBus< VariableRequests > |
using | VariableValidationOutcome = AZ::Outcome< void, GraphVariableValidationErrorCode > |
using | GraphVariableManagerRequestBus = AZ::EBus< GraphVariableManagerRequests > |
using | VariableNodeRequestBus = AZ::EBus< VariableNodeRequests, RequestByNodeIdTraits > |
using | ScriptEventNodeRequestBus = AZ::EBus< ScriptEventNodeRequests, RequestByNodeIdTraits > |
using | GraphVariableManagerNotificationBus = AZ::EBus< GraphVariableManagerNotifications > |
using | VariableNotificationBus = AZ::EBus< VariableNotifications > |
using | VariableNodeNotificationBus = AZ::EBus< VariableNodeNotifications > |
using | NamedVariabledId = NamedId< VariableId > |
Functions | |
AZ::Outcome< SourceTree, AZStd::string > | LoadEditorAssetTree (SourceHandle handle) |
FileLoadResult | LoadFromFile (AZStd::string_view path, MakeInternalGraphEntitiesUnique makeEntityIdsUnique=MakeInternalGraphEntitiesUnique::Yes, LoadReferencedAssets loadReferencedAssets=LoadReferencedAssets::Yes) |
IsPreloadedResult | IsPreloaded (const RuntimeDataOverrides &overrides) |
constexpr const char * | ToString (IsPreloadedResult result) |
IsPreloadedResult | IsPreloaded (RuntimeAssetPtr asset) |
AZ_CVAR_EXTERNED (bool, g_saveRuntimeAssetsAsPlainTextForDebug) | |
AZ_CVAR_EXTERNED (bool, g_saveEditorAssetsAsPlainTextForDebug) | |
bool | IsNamespacePathEqual (const NamespacePath &lhs, const NamespacePath &rhs) |
DATUM_GET_NUMBER_SPECIALIZE (char) | |
DATUM_GET_NUMBER_SPECIALIZE (short) | |
DATUM_GET_NUMBER_SPECIALIZE (int) | |
DATUM_GET_NUMBER_SPECIALIZE (long) | |
DATUM_GET_NUMBER_SPECIALIZE (AZ::s8) | |
DATUM_GET_NUMBER_SPECIALIZE (AZ::s64) | |
DATUM_GET_NUMBER_SPECIALIZE (unsigned char) | |
DATUM_GET_NUMBER_SPECIALIZE (AZ::u64) | |
DATUM_GET_NUMBER_SPECIALIZE (float) | |
DATUM_SET_NUMBER_SPECIALIZE (char) | |
DATUM_SET_NUMBER_SPECIALIZE (short) | |
DATUM_SET_NUMBER_SPECIALIZE (int) | |
DATUM_SET_NUMBER_SPECIALIZE (long) | |
DATUM_SET_NUMBER_SPECIALIZE (AZ::s8) | |
DATUM_SET_NUMBER_SPECIALIZE (AZ::s64) | |
DATUM_SET_NUMBER_SPECIALIZE (unsigned char) | |
DATUM_SET_NUMBER_SPECIALIZE (AZ::u64) | |
DATUM_SET_NUMBER_SPECIALIZE (float) | |
DATUM_SET_VECTOR_SPECIALIZE (AZ::Vector2) | |
DATUM_SET_VECTOR_SPECIALIZE (AZ::Vector3) | |
DATUM_SET_VECTOR_SPECIALIZE (AZ::Vector4) | |
void | ReflectExecutionBusArguments (AZ::ReflectContext *context) |
AZStd::string | ToString (const SlotDataMap &map) |
AZStd::string | ToString (const VariableValues &variableValues) |
DeserializeResult | Deserialize (AZStd::string_view source, MakeInternalGraphEntitiesUnique makeUniqueEntities=MakeInternalGraphEntitiesUnique::Yes, LoadReferencedAssets loadReferencedAssets=LoadReferencedAssets::Yes) |
SerializationResult | Serialize (const ScriptCanvasData &graphData, AZ::IO::GenericStream &stream) |
template<auto Function, typename t_Traits > | |
AZ::TypeNameString | GetO3deTypeName (AZ::Adl, AZStd::type_identity< NodeFunctionGenericMultiReturnImpl< Function, t_Traits >>) |
template<auto Function, typename t_Traits > | |
AZ::TypeId | GetO3deTypeId (AZ::Adl, AZStd::type_identity< NodeFunctionGenericMultiReturnImpl< Function, t_Traits >>) |
AZ_RTTI_NO_TYPE_INFO_IMPL_INLINE ((NodeFunctionGenericMultiReturnImpl, AZ_TYPE_INFO_AUTO, AZ_TYPE_INFO_CLASS), Node) | |
constexpr bool | IsExecution (CombinedSlotType slotType) |
constexpr bool | IsExecutionOut (CombinedSlotType slotType) |
constexpr bool | IsData (CombinedSlotType slotType) |
AZ_INLINE AZStd::string_view | GetInputSlotName () |
AZ_INLINE AZStd::string_view | GetOutputSlotName () |
AZ_INLINE AZStd::string_view | GetSourceSlotName () |
template<AZStd::size_t Capacity> | |
bool | CompareSignature (AZ::BehaviorMethod *method, const AZStd::array< AZ::Uuid, Capacity > &typeIds) |
template<size_t startIndex, typename ArrayType , typename... Args, size_t... Indices> | |
void | UnpackParameterAtIndex (ArrayType &outArray, AZStd::index_sequence< Indices...>, Args &&...args) |
void | BehaviorContextObjectPtrReflect (AZ::ReflectContext *context) |
void | InitDataRegistry () |
void | ResetDataRegistry () |
AZ::EnvironmentVariable < DataRegistry > | GetDataRegistry () |
GraphInfo | CreateGraphInfo (ScriptCanvasId executionId, const GraphIdentifier &graphIdentifier) |
AZ::Outcome< void, AZStd::string > | IsExposable (const AZ::BehaviorMethod &method) |
Grammar::FunctionPrototype | ToSignature (const AZ::BehaviorMethod &method) |
void | InitLibraries () |
void | ResetLibraries () |
void | ReflectLibraries (AZ::ReflectContext *) |
AZStd::vector < AZ::ComponentDescriptor * > | GetLibraryDescriptors () |
AZ::EnvironmentVariable < NodeRegistry > | GetNodeRegistry () |
Deprecated, following is to support backward compatibility. | |
static constexpr AZ::Crc32 | RemoteToolsKey ("ScriptCanvasRemoteTools") |
void | MergeUpdateSlotReport (const AZ::EntityId &scriptCanvasNodeId, GraphUpdateReport &report, const NodeUpdateReport &source) |
AZStd::vector< AZStd::pair < Endpoint, Endpoint > > | CollectEndpoints (const AZStd::vector< AZ::Entity * > &connections, bool logEntityNames=false) |
void | UpdateConnectionStatus (Graph &graph, const GraphUpdateReport &report) |
Variables | |
constexpr const AZ::u32 | RuntimeDataSubId = AZ_CRC_CE("RuntimeData") |
constexpr const AZ::u32 | SubgraphInterfaceSubId = AZ_CRC_CE("SubgraphInterface") |
constexpr const char * | k_EventOutPrefix = "ExecutionSlot:" |
constexpr const char * | k_OnVariableWriteEventName = "OnVariableValueChanged" |
constexpr const char * | k_OnVariableWriteEbusName = "VariableNotification" |
constexpr const AZStd::string_view | k_VersionExplorerWindow = "VersionExplorerWindow" |
const BehaviorContextResultTag | s_behaviorContextResultTag {} |
static const GraphOwnerIdType | GraphOwnerId = AZ::EntityId(0xacedc0de) |
static const RuntimeIdType | UniqueId = AZ::EntityId(0xfee1baad) |
static constexpr const char * | s_dataRegistryName = "ScriptCanvasDataRegistry" |
constexpr const char * | NotYetImplementedId = "SC-0000" |
static const AZ::Crc32 | NotYetImplementedCrc = AZ_CRC(NotYetImplementedId) |
constexpr const AZ::u32 | UserDataMark = AZ_CRC_CE("UserDataMark") |
constexpr const char * | k_ExecutionStateAzTypeIdString = "{85C66E59-F012-460E-9756-B36819753F4D}" |
static constexpr const char * | s_nodeRegistryName = "ScriptCanvasNodeRegistry" |
static const AZ::Name | RemoteToolsName = AZ::Name::FromStringLiteral("ScriptCanvasRemoteTools", nullptr) |
static constexpr uint16_t | RemoteToolsPort = 6787 |
The EditContext and other facilities give script users, especially ScriptCanvas users the ability to create and initialize objects that cannot be easily created with a sequence of C++ code. Some Editor facilities give users access to private variables in objects that cannot be modified or initialized directly via their public C++ interface.
This ExecutionCloneSource objects exists to facilitate fast construction and initialization of the such objects when needed to execute compiled ScriptCanvas graphs properly.
FileLoadResult ScriptCanvas::LoadFromFile | ( | AZStd::string_view | path, |
MakeInternalGraphEntitiesUnique | makeEntityIdsUnique = MakeInternalGraphEntitiesUnique::Yes , |
||
LoadReferencedAssets | loadReferencedAssets = LoadReferencedAssets::Yes |
||
) |
Loads the script canvas file at the given path.
path | Path to the file to load |
makeEntityIdsUnique | controls if the entity IDs are re-generated for the graph to make them unique. Set to true if there's a chance the graph may be loaded multiple times, so that buses can be used safely with those IDs. Set to false when doing operations that rely on stable entity ID order between runs. |
loadReferencedAssets | controls whether referenced assets in the graph are loaded or not. In practice, this controls whether or not the graph and underlying nodes are fully activated. |