ezEngine Release 26.3
Loading...
Searching...
No Matches
ezVisualScriptNodeManager Class Reference

#include <VisualScriptGraph.h>

Inheritance diagram for ezVisualScriptNodeManager:

Public Member Functions

ezHashedString GetScriptBaseClass () const
 
bool IsFilteredByBaseClass (const ezRTTI *pNodeType, const ezVisualScriptNodeRegistry::NodeDesc &nodeDesc, const ezHashedString &sBaseClass, bool bLogWarning=false) const
 
ezVisualScriptDataType::Enum GetVariableType (ezTempHashedString sName) const
 
ezResult GetVariable (ezTempHashedString sName, ezVisualScriptVariable &out_variable) const
 
void GetAllVariables (ezDynamicArray< ezVisualScriptVariable > &out_variables) const
 
void GetInputExecutionPins (const ezDocumentObject *pObject, ezDynamicArray< const ezVisualScriptPin * > &out_pins) const
 
void GetOutputExecutionPins (const ezDocumentObject *pObject, ezDynamicArray< const ezVisualScriptPin * > &out_pins) const
 
void GetInputDataPins (const ezDocumentObject *pObject, ezDynamicArray< const ezVisualScriptPin * > &out_pins) const
 
void GetOutputDataPins (const ezDocumentObject *pObject, ezDynamicArray< const ezVisualScriptPin * > &out_pins) const
 
void GetEntryNodes (const ezDocumentObject *pObject, ezDynamicArray< const ezDocumentObject * > &out_entryNodes) const
 
ezVisualScriptDataType::Enum GetDeductedType (const ezVisualScriptPin &pin) const
 
ezVisualScriptDataType::Enum GetDeductedType (const ezDocumentObject *pObject) const
 
bool IsCoroutine (const ezDocumentObject *pObject) const
 
bool IsLoop (const ezDocumentObject *pObject) const
 
- Public Member Functions inherited from ezVisualGraphObjectManager
virtual const ezRTTIGetConnectionType () const
 
ezVec2 GetNodePos (const ezDocumentObject *pObject) const
 
const ezVisualGraphConnectionGetConnection (const ezDocumentObject *pObject) const
 
const ezVisualGraphConnectionGetConnectionIfExists (const ezDocumentObject *pObject) const
 
const ezVisualGraphPinGetInputPinByName (const ezDocumentObject *pObject, ezStringView sName) const
 
const ezVisualGraphPinGetOutputPinByName (const ezDocumentObject *pObject, ezStringView sName) const
 
ezArrayPtr< const ezUniquePtr< const ezVisualGraphPin > > GetInputPins (const ezDocumentObject *pObject) const
 
ezArrayPtr< const ezUniquePtr< const ezVisualGraphPin > > GetOutputPins (const ezDocumentObject *pObject) const
 
bool IsNode (const ezDocumentObject *pObject) const
 
bool IsConnection (const ezDocumentObject *pObject) const
 
bool IsDynamicPinProperty (const ezDocumentObject *pObject, const ezAbstractProperty *pProp) const
 
ezArrayPtr< const ezVisualGraphConnection *const > GetConnections (const ezVisualGraphPin &pin) const
 
bool HasConnections (const ezVisualGraphPin &pin) const
 
bool IsConnected (const ezVisualGraphPin &source, const ezVisualGraphPin &target) const
 
ezStatus CanConnect (const ezRTTI *pObjectType, const ezVisualGraphPin &source, const ezVisualGraphPin &target, CanConnectResult &ref_result) const
 
ezStatus CanDisconnect (const ezVisualGraphConnection *pConnection) const
 
ezStatus CanDisconnect (const ezDocumentObject *pObject) const
 
ezStatus CanMoveNode (const ezDocumentObject *pObject, const ezVec2 &vPos) const
 
void Connect (const ezDocumentObject *pObject, const ezVisualGraphPin &source, const ezVisualGraphPin &target)
 
void Disconnect (const ezDocumentObject *pObject)
 
void MoveNode (const ezDocumentObject *pObject, const ezVec2 &vPos)
 
void AttachMetaDataBeforeSaving (ezAbstractObjectGraph &ref_graph) const
 
void RestoreMetaDataAfterLoading (const ezAbstractObjectGraph &graph, bool bUndoable)
 
void GetMetaDataHash (const ezDocumentObject *pObject, ezUInt64 &inout_uiHash) const
 
bool CopySelectedObjects (ezAbstractObjectGraph &out_objectGraph) const
 
bool PasteObjects (const ezArrayPtr< ezDocument::PasteInfo > &info, const ezAbstractObjectGraph &objectGraph, const ezVec2 &vPickedPosition, bool bAllowPickedPosition)
 
- Public Member Functions inherited from ezDocumentObjectManager
 ezDocumentObjectManager (const ezRTTI *pRootType=ezDocumentRoot::GetStaticRTTI())
 
void SetDocument (ezDocument *pDocument)
 
ezDocumentObjectCreateObject (const ezRTTI *pRtti, ezUuid guid=ezUuid())
 
void DestroyObject (ezDocumentObject *pObject)
 
virtual void DestroyAllObjects ()
 
virtual void GetCreateableTypes (ezHybridArray< const ezRTTI *, 32 > &ref_types) const
 
void PatchEmbeddedClassObjects (const ezDocumentObject *pObject) const
 
const ezDocumentObjectGetRootObject () const
 
ezDocumentObjectGetRootObject ()
 
const ezDocumentObjectGetObject (const ezUuid &guid) const
 
ezDocumentObjectGetObject (const ezUuid &guid)
 
const ezDocumentGetDocument () const
 
ezDocumentGetDocument ()
 
ezStatus SetValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &newValue, ezVariant index=ezVariant())
 
ezStatus InsertValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &newValue, ezVariant index=ezVariant())
 
ezStatus RemoveValue (ezDocumentObject *pObject, ezStringView sProperty, ezVariant index=ezVariant())
 
ezStatus MoveValue (ezDocumentObject *pObject, ezStringView sProperty, const ezVariant &oldIndex, const ezVariant &newIndex)
 
void AddObject (ezDocumentObject *pObject, ezDocumentObject *pParent, ezStringView sParentProperty, ezVariant index)
 
void RemoveObject (ezDocumentObject *pObject)
 
void MoveObject (ezDocumentObject *pObject, ezDocumentObject *pNewParent, ezStringView sParentProperty, ezVariant index)
 
ezStatus CanAdd (const ezRTTI *pRtti, const ezDocumentObject *pParent, ezStringView sParentProperty, const ezVariant &index) const
 
ezStatus CanRemove (const ezDocumentObject *pObject) const
 
ezStatus CanMove (const ezDocumentObject *pObject, const ezDocumentObject *pNewParent, ezStringView sParentProperty, const ezVariant &index) const
 
ezStatus CanSelect (const ezDocumentObject *pObject) const
 
bool IsUnderRootProperty (ezStringView sRootProperty, const ezDocumentObject *pObject) const
 
bool IsUnderRootProperty (ezStringView sRootProperty, const ezDocumentObject *pParent, ezStringView sParentProperty) const
 
bool IsTemporary (const ezDocumentObject *pObject) const
 
bool IsTemporary (const ezDocumentObject *pParent, ezStringView sParentProperty) const
 
ezSharedPtr< ezDocumentObjectManager::StorageSwapStorage (ezSharedPtr< ezDocumentObjectManager::Storage > pNewStorage)
 
ezSharedPtr< ezDocumentObjectManager::StorageGetStorage ()
 

Static Public Member Functions

static ezStringView GetNiceTypeName (const ezDocumentObject *pObject)
 
static ezStringView GetNiceFunctionName (const ezDocumentObject *pObject)
 

Public Attributes

ezEvent< const ezDocumentObject * > m_NodeChangedEvent
 
- Public Attributes inherited from ezVisualGraphObjectManager
ezEvent< const ezVisualGraphObjectManagerEvent & > m_NodeEvents
 
- Public Attributes inherited from ezDocumentObjectManager
ezCopyOnBroadcastEvent< const ezDocumentObjectStructureEvent & > m_StructureEvents
 
ezCopyOnBroadcastEvent< const ezDocumentObjectPropertyEvent & > m_PropertyEvents
 
ezEvent< const ezDocumentObjectEvent & > m_ObjectEvents
 

Private Member Functions

virtual void GetNodeCreationTemplates (ezDynamicArray< ezVisualGraphNodeDesc > &out_templates) const override
 For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu.
 

Friends

class ezVisualScriptPin
 

Additional Inherited Members

- Public Types inherited from ezVisualGraphObjectManager
enum class  CanConnectResult {
  ConnectNever , Connect1to1 , Connect1toN , ConnectNto1 ,
  ConnectNtoN
}
 Specifies how many connections are allowed for a pair of pins. More...
 
- Protected Member Functions inherited from ezVisualGraphObjectManager
bool CanReachNode (const ezDocumentObject *pSource, const ezDocumentObject *pTarget, ezSet< const ezDocumentObject * > &Visited) const
 Tests whether pTarget can be reached from pSource by following the pin connections.
 
bool WouldConnectionCreateCircle (const ezVisualGraphPin &source, const ezVisualGraphPin &target) const
 Returns true if adding a connection between the two pins would create a circular graph.
 
ezResult ResolveConnection (const ezUuid &sourceObject, const ezUuid &targetObject, ezStringView sourcePin, ezStringView targetPin, const ezVisualGraphPin *&out_pSourcePin, const ezVisualGraphPin *&out_pTargetPin) const
 
virtual void GetDynamicPinNames (const ezDocumentObject *pObject, ezStringView sPropertyName, ezStringView sPinName, ezDynamicArray< ezString > &out_Names) const
 
virtual bool TryRecreatePins (const ezDocumentObject *pObject)
 

Detailed Description

Object manager for visual script graphs.

Manages visual script nodes and their connections, including both execution flow and data flow. Handles complex features such as type deduction, dynamic pin creation, variable management, and coroutine detection. Validates connections based on script data types and execution flow rules.

Member Function Documentation

◆ GetNodeCreationTemplates()

void ezVisualScriptNodeManager::GetNodeCreationTemplates ( ezDynamicArray< ezVisualGraphNodeDesc > &  out_templates) const
overrideprivatevirtual

For node documents this function is called instead of GetCreateableTypes to get a list for the node creation menu.

See also
ezVisualGraphNodeDesc

Reimplemented from ezVisualGraphObjectManager.

◆ InternalCanConnect()

ezStatus ezVisualScriptNodeManager::InternalCanConnect ( const ezVisualGraphPin source,
const ezVisualGraphPin target,
CanConnectResult out_Result 
) const
overrideprivatevirtual

Reimplemented from ezVisualGraphObjectManager.

◆ InternalCreatePins()

void ezVisualScriptNodeManager::InternalCreatePins ( const ezDocumentObject pObject,
NodeInternal node 
)
overrideprivatevirtual

◆ InternalIsDynamicPinProperty()

bool ezVisualScriptNodeManager::InternalIsDynamicPinProperty ( const ezDocumentObject pObject,
const ezAbstractProperty pProp 
) const
overrideprivatevirtual

Reimplemented from ezVisualGraphObjectManager.

◆ InternalIsNode()

bool ezVisualScriptNodeManager::InternalIsNode ( const ezDocumentObject pObject) const
overrideprivatevirtual

Reimplemented from ezVisualGraphObjectManager.


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