3#include <EditorPluginVisualScript/VisualScriptGraph/VisualScriptNodeRegistry.h>
4#include <ToolsFoundation/NodeObject/DocumentNodeManager.h>
14 PL_ALWAYS_INLINE
bool IsExecutionPin()
const {
return m_pDesc->IsExecutionPin(); }
15 PL_ALWAYS_INLINE
bool IsDataPin()
const {
return m_pDesc->IsDataPin(); }
17 PL_ALWAYS_INLINE
const plRTTI* GetDataType()
const {
return m_pDesc->m_pDataType; }
18 PL_ALWAYS_INLINE plVisualScriptDataType::Enum GetScriptDataType()
const {
return m_pDesc->m_ScriptDataType; }
19 plVisualScriptDataType::Enum GetResolvedScriptDataType()
const;
21 PL_ALWAYS_INLINE plUInt32 GetDataPinIndex()
const {
return m_uiDataPinIndex; }
22 PL_ALWAYS_INLINE plUInt32 GetElementIndex()
const {
return m_uiElementIndex; }
23 PL_ALWAYS_INLINE
bool IsRequired()
const {
return m_pDesc->m_bRequired; }
24 PL_ALWAYS_INLINE
bool HasDynamicPinProperty()
const {
return m_pDesc->m_sDynamicPinProperty.
IsEmpty() ==
false; }
25 PL_ALWAYS_INLINE
bool SplitExecution()
const {
return m_pDesc->m_bSplitExecution; }
26 PL_ALWAYS_INLINE
bool ReplaceWithArray()
const {
return m_pDesc->m_bReplaceWithArray; }
27 PL_ALWAYS_INLINE
bool NeedsTypeDeduction()
const {
return m_pDesc->m_DeductTypeFunc !=
nullptr; }
29 PL_ALWAYS_INLINE
const plHashedString& GetDynamicPinProperty()
const {
return m_pDesc->m_sDynamicPinProperty; }
30 PL_ALWAYS_INLINE plVisualScriptNodeRegistry::PinDesc::DeductTypeFunc GetDeductTypeFunc()
const {
return m_pDesc->m_DeductTypeFunc; }
32 bool CanConvertTo(
const plVisualScriptPin& targetPin,
bool bUseResolvedDataTypes =
true)
const;
36 plUInt32 m_uiDataPinIndex = 0;
37 plUInt32 m_uiElementIndex = 0;
64 plVisualScriptDataType::Enum GetDeductedType(
const plDocumentObject* pObject)
const;
85 void DeductNodeTypeAndAllPinTypes(
const plDocumentObject* pObject,
const plPin* pDisconnectedPin =
nullptr);
87 bool IsConnectedToCoroutine(
const plDocumentObject* pEntryNode,
const plConnection& changedConnection,
bool bIsAboutToDisconnect =
false)
const;
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
Definition DocumentNodeManager.h:37
Definition DocumentNodeManager.h:141
CanConnectResult
Definition DocumentNodeManager.h:165
Definition DocumentObjectBase.h:11
Definition DynamicArray.h:81
Definition HashTable.h:333
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
bool IsEmpty() const
Returns whether the string is empty.
Definition HashedString.cpp:121
Definition DocumentNodeManager.h:59
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
A class to use together with plHashedString for quick comparisons with temporary strings that need no...
Definition HashedString.h:151
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition VisualScriptGraph.h:41
virtual void GetNodeCreationTemplates(plDynamicArray< plNodeCreationTemplate > &out_templates) const override
For node documents this function is called instead of GetCreateableTypes to get a list for the node c...
Definition VisualScriptGraph.cpp:455
Definition VisualScriptGraph.h:7
Definition DocumentNodeManager.h:210
Definition DocumentNodeManager.h:12
Used by plDocumentObjectManager::m_PropertyEvents.
Definition DocumentObjectManager.h:77
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
An plResult with an additional message for the reason of failure.
Definition Status.h:12
Definition VisualScriptNodeRegistry.h:36
Definition VisualScriptNodeRegistry.h:15