Namespace Mechatronics.SystemGraph
Classes
ActionQueue
Store actions to executes after entering edit or play mode.
AssemblyNameChangeGlobalAttribute
Define a assembly name change mapping globally.
AssetUtils
AssetUtils class handles parsing of a text asset files to extract node attributes.
AutoRouter
AutoRouter utility class is used to find a route around obstacles from source to target
AutoRouter.Direction
Direction state of the current route target
AutoRouter.Line
Line description
AutoRouter.PathDescriptor
Describe the Path layout and the state variables during routing
BindingAttribute
Register a binding inside nodes. Bindings are specific to the NodeInstance, SystemGraph does not manage any of the data inside bindings. Bindings differ from properties in that they are initialized earlier in the lifecylce. You can access the data in bindings from InternalInitialize() in the node. For these reasons bindings are highly recommended if your node is the the only consumer of the external data, and different instances of your node may require different instances of the external data.
BindingRegistry
Caches all the RegisterBinding attributes and their specific types
ClockEvent
Class ClockEvent represents scheduler events of that graph asset. Implements the VersionedStruct
CommentDescriptor
CommentDescriptor stores the comment information attached to SystemGraph assets.
DataCastToComputeBufferNode
Class DataCastToComputeBufferNode. Implements the NodeRuntime
DataCastToTextureNode
Class DataCastToTextureNode. Implements the NodeRuntime
Documentation
Need to live in Runtime as Attribute of documentation is on Runtime classes \o/
DrawUtils
DrawUtils handles drawing of primitives for custom VisualElements.
DummyPort
Class DummyPort. This class cannot be inherited. Implements the Port
EdgeDescriptor
EdgeDescriptor stores the edge information attached to SystemGraph assets.
FieldAnimationCurve
FieldAnimationCurve, represents a AnimationCurve field type. Implements the FieldType
FieldArray<T>
FieldArray, represents an array field type. Implements the FieldType
FieldAttribute
This attribute is used to declare a specific field as a port. To use a field as a port the field type must derive from IPortType or PortList.
FieldBool
FieldBool, representation of the field as a bool type. Implements the FieldType
FieldBox<U>
Class FieldBox. Implements the IFieldBox
FieldDouble
FieldDouble, represents a double field type. Implements the FieldType
FieldEnum
FieldEnum, represents an enum field type. Implements the FieldType
FieldFloat
FieldFloat, represents a float field type. Implements the FieldType
FieldGameObject
FieldGameObject, represents a GameObject field type. Implements the FieldType
FieldInt
FieldInt, represents a int field type. Implements the FieldType
FieldQuaternion
FieldQuaternion, represents a quaternion field. Implements the FieldType
FieldString
FieldString, represents a string field type. Implements the FieldType
FieldSystemGraphAsset
FieldSystemGraphAsset, represents a SystemGraphAsset field type. Implements the FieldType
FieldTexture2D
FieldTexture2D, represents a Texture2D field type. Implements the FieldType
FieldType
FieldType contains information about a port data binding. It visually binds PortTypes with the visual ports in the graph.
FieldUint
FieldUint, represents a uint field type. Implements the FieldType
FieldVector2
FieldVector2, represents a Vector2 field type. Implements the FieldType
FieldVector3
FieldVector3, represents a Vector3 field type. Implements the FieldType
FieldVector4
FieldVector4, represents a Vector4 field type. Implements the FieldType
GlobalSystemGraph
Global system graph object to manage timing and physics.
GraphDescriptor
GraphDescriptor represent the serialized information of a SystemGraph asset. Implements the ScriptableObject
GraphEditorObject
GraphEditorObject stores the graph asset data. Implements the ScriptableObject Implements the ISerializationCallbackReceiver
GraphEditorView
GraphEditorView represents the graph view container that lives in the editor window. Implements the VisualElement
GraphEditorView.CopyPasteDescriptor
Class CopyPasteDescriptor.
GraphEditorWindow
GraphEditorWindow, extends the editor window for SystemGraph asset manipulation. Implements the EditorWindow
GraphEditorWindow.SystemGraphAssetProcessor
Asset modification detector. Detects when the asset file name changed.
GraphGenerator
GraphGenerator API to generate SystemGraph assets from scripts.
GraphGenerator.BeautifyLayout
Beautify use this layout as hints to proceed with beautification
GraphGenerator.SerializationHandlers
Class SerializationHandlers.
GraphLogicEditor
GraphLogicEditor implements the inspector panel for SystemGraph assets. Implements the Editor
GraphTree
A Graph data structure representation of the SystemGraph
GraphTree.GridDescriptor
GridDescriptor represents a grid container, either a group or node.
GraphTree.TreeNode
Description of a node in the tree data structure representing the graph Level describes the preferred horizontal coordinate of the node in variable node unit Rank describes the preferred vertical coordinate of the node in variable node unit
GraphTree.Visitor
Visitor descriptor of nodes
GroupDescriptor
GroupDescriptor stores the group information attached to SystemGraph assets.
IFieldBox
Class IFieldBox is used to contain a type as a boxed type.
INodeEditor
Describes how to draw a node, paired with GenericNodeview
INodeEditor.OwnerDescriptor
OwnerDescriptor describes how the node editor is attached.
INodeEditor.PortVisualDescriptor
PortVisualDescriptor describes how the port is shown in the node.
IPortEditor
IPortEditor interface to support port editors.
IPortEditor.tHandlerDescriptor
tHandlerDescriptor, describes life cycle handlers for this port editor.
IPortType
Base type for all ports. Do not set IPortType as Serializable, otherwise DynamicPorts won't save their derived port [Serializable]
IPortTypeConverter
Base class for all port converters.
InspectorEditor
Runtime inspector editor details. Editor extensions for bindings, properties.
LRUCache<K, V>
Class LRUCache.
Linker
SystemGraph Linker. This object is in charge of connecting ports together by reference at runtime
Linker.EdgeBindingDescriptor
Class EdgeBindingDescriptor.
Linker.NodeReferenceDescriptor
Class NodeReferenceDescriptor.
Linker.PortReferenceDescriptor
Class PortReferenceDescriptor.
Linker.PortTypeDriverDescriptor
Class PortTypeDriverDescriptor.
LogicNodeView
Actual visual nodes which gets added to the graph UI. Implements the Node
LynX
LynX is a query system to introspect SystemGraph assets easily and recursively
LynX.GraphCacheDescriptor
Local cache for every graph object
LynX.QueryContext
Result context of a query This context is the current result of the query up to the result after execution
LynX.QueryContext.CtxSerializedNode
Class CtxSerializedNode.
MetaDescriptor
MetaDescriptor stores the metadata attached to SystemGraph assets.
NodeAnimationCurve
Class NodeAnimationCurve. Implements the NodeRuntime
NodeBool
Class NodeBool. Implements the NodeRuntime
NodeCategoryAttribute
Class NodeCategoryAttribute. Implements the Attribute
NodeClock
Class NodeClock. Implements the NodeRuntime
NodeDescriptor
NodeDescriptor stores the node information attached to SystemGraph assets.
NodeDouble
Class NodeDouble. Implements the NodeRuntime
NodeEditor
NodeEditor extension for SystemGraph node. It is a container for the information within a node: ports, position, state of ports. Describes how to draw a node. Implements the INodeEditor
NodeExpandable
Class NodeExpandable. Implements the NodeExpandable
NodeExpandable<T>
Class NodeExpandable. Implements the NodeExpandable
NodeFloat
Class NodeFloat. Implements the NodeRuntime
NodeGameObject
Class NodeGameObject. Implements the NodeRuntime
NodeInt
Class NodeInt. Implements the NodeRuntime
NodeQuaternion
Class NodeQuaternion. Implements the NodeRuntime
NodeRenderTexture
Class NodeRenderTexture. Implements the NodeRuntime
NodeRuntime
The NodeRuntime class provides an interface to create a systemgraph runtime and editor node. Implementation of this class exposes the user implementation to the lifecycle of SystemGraph.
NodeString
Class NodeString. Implements the NodeRuntime
NodeSystemGraph
Class NodeSystemGraph. Implements the NodeRuntime
NodeTexture2D
Class NodeTexture2D. Implements the NodeRuntime
NodeUint
Class NodeUint. Implements the NodeRuntime
NodeVector2
Class NodeVector2. Implements the NodeRuntime
NodeVector3
Class NodeVector3. Implements the NodeRuntime
NodeVector4
Class NodeVector4. Implements the NodeRuntime
ParameterDescriptor
ParameterDescriptor stores the parameter information attached to SystemGraph assets.
PortAnimationCurveEditor
PortAnimationCurveEditor represents an animation curve port. Implements the PortEditor<T>
PortBoolEditor
PortBoolEditor represents visuals of a bool typed port. Implements the PortEditor<T>
PortConverterAttribute
Class PortConverterAttribute. The PortConverter attribute registers a from-to type converter for your ports. Implements the Attribute
PortConverterBoolString
Class PortConverterBoolString. Implements the PortConverterToString<T>
PortConverterDoubleFloat
Class PortConverterDoubleFloat. Implements the PortConverter<FirstType, SecondType>
PortConverterDoubleInt
Class PortConverterDoubleInt. Implements the PortConverter<FirstType, SecondType>
PortConverterDoubleString
Class PortConverterDoubleString. Implements the PortConverterToString<T>
PortConverterDoubleUint
Class PortConverterDoubleUint. Implements the PortConverter<FirstType, SecondType>
PortConverterFloatDouble
Class PortConverterFloatDouble. Implements the PortConverter<FirstType, SecondType>
PortConverterFloatInt
Class PortConverterFloatInt. Implements the PortConverter<FirstType, SecondType>
PortConverterFloatString
Class PortConverterFloatString. Implements the PortConverterToString<T>
PortConverterFloatUint
Class PortConverterFloatUint. Implements the PortConverter<FirstType, SecondType>
PortConverterIntDouble
Class PortConverterIntDouble. Implements the PortConverter<FirstType, SecondType>
PortConverterIntFloat
Class PortConverterIntFloat. Implements the PortConverter<FirstType, SecondType>
PortConverterIntString
Class PortConverterIntString. Implements the PortConverterToString<T>
PortConverterIntUint
Class PortConverterIntUint. Implements the PortConverter<FirstType, SecondType>
PortConverterToString<T>
Class PortConverterToString. Implements the PortConverter<FirstType, SecondType>
PortConverterUintDouble
Class PortConverterUintDouble. Implements the PortConverter<FirstType, SecondType>
PortConverterUintFloat
Class PortConverterUintFloat. Implements the PortConverter<FirstType, SecondType>
PortConverterUintInt
Class PortConverterUintInt. Implements the PortConverter<FirstType, SecondType>
PortConverterUintString
Class PortConverterUintString. Implements the PortConverterToString<T>
PortConverterVector3String
Class PortConverterVector3String. Implements the PortConverterToString<T>
PortConverter<FirstType, SecondType>
Generic port converter implementation to override.
PortData
Class PortData.
PortDescriptor
PortDescriptor stores the port information attached to SystemGraph assets.
PortDoubleEditor
PortDoubleEditor represents visual of a double typed port. Implements the PortEditor<T>
PortEditor<T>
Class PortEditor. Implements the IPortEditor
PortEnumEditor
PortEnumEditor represents visuals of a enum types port. Implements the PortEditor<T>
PortFloatEditor
PortFloatEditor represents visuals of a float types port. Implements the PortEditor<T>
PortGameObjectEditor
PortGameObjectEditor represents visuals of a game object typed port. Implements the PortEditor<T>
PortIntEditor
PortIntEditor represents visuals of a int typed port. Implements the PortEditor<T>
PortInterConnect
Generic port interconnect implementation.
PortListEditor<T>
PortListEditor represents visuals of a list typed port. Implements the PortEditor<T>
PortListEnum<T>
Class PortListEnum. Implements the IEnumerator<T>
PortList<T>
Class PortList. Implements the IList<T> Implements the IList
PortQuaternionEditor
PortQuaternionEditor represents visuals ofa quaternion typed port. Implements the PortEditor<T>
PortStringEditor
PortStringEditor represents visuals of a string typed port. Implements the PortEditor<T>
PortSystemGraphEditor
PortSystemGraphEditor represents visuals of the SystemGraph typed port. Implements the PortEditor<T>
PortTexture2dEditor
PortTexture2dEditor represents visuals of a texture2d typed port. Implements the PortEditor<T>
PortTypeAnimationCurve
Class PortTypeAnimationCurve. Implements the PortType<T>
PortTypeBool
Class PortTypeBool. Implements the PortType<T>
PortTypeClock
Manager for all change events inside ports.
PortTypeEnum
Class PortTypeEnum. Implements the PortType<T> Implements the ISerializationCallbackReceiver
PortTypeFloat
Class PortTypeFloat. Implements the PortType<T>
PortTypeGameObject
Class PortTypeGameObject. Implements the PortType<T>
PortTypeInt
Class PortTypeInt. Implements the PortType<T>
PortTypeNodeRuntime
Class PortTypeNodeRuntime. Implements the IPortType
PortTypeQuaternion
Class PortTypeQuaternion. Implements the PortType<T>
PortTypeString
Class PortTypeString. Implements the PortType<T>
PortTypeSystemGraphAsset
Class PortTypeSystemGraphAsset. Implements the IPortType Implements the ISerializationCallbackReceiver
PortTypeTexture2D
Class PortTypeTexture2D. Implements the PortType<T> Implements the ISerializationCallbackReceiver
PortTypeUint
Class PortTypeUint. Implements the PortType<T>
PortTypeVector2
Class PortTypeVector2. Implements the PortType<T>
PortTypeVector3
Class PortTypeVector3. Implements the PortType<T>
PortTypeVector4
Class PortTypeVector4. Implements the PortType<T>
PortType<T>
Generic port type to simplify port creation.
PortUintEditor
PortUintEditor represents visuals of a uint typed port. Implements the PortEditor<T>
PortVector2Editor
PortVector2Editor represents visuals of a vector2 typed port. Implements the PortEditor<T>
PortVector3Editor
PortVector3Editor represents visuals of a vector3 port. Implements the PortEditor<T>
PortVector4Editor
PortVector4Editor represents visuals of a vector4 port. Implements the PortEditor<T>
PortView
Class PortView is the visual representation of ports on nodes. Implements the Port
PrintMessage
Prints a periodic string message on the input port.
RegisterBindingAttribute
This attribute is used to create a new binding type.
Scheduler
The Scheduler class is used to schedule emulation events of the systemgraph.
Scheduler.ClockDescriptor
Contains the state of the clock for every frame of the clocksource
Scheduler.ClockState
The ClockState class is used to describe the current clock state for a specific tick event
SchedulerDescriptor
SchedulerDescriptor stores the scheduler information attached to SystemGraph assets.
ScopedContext<T>
ScopedContext class is a container that can be used in a using statement It manages lifetime of a FieldBox variable for the scope of a using statement
SearchWindowProvider
SearchWindowProvider represents the context menu search when adding nodes to graph Implements the ScriptableObject Implements the ISearchWindowProvider
SerializedComment
Class SerializedComment, contains comment data. Implements the VersionedStruct
SerializedEdge
Class SerializedEdge, contains edge data. Implements the VersionedStruct
SerializedEdgeUpgrade
SerializedEdgeUpgrade, upgrade module for edges. Implements the UpgradeModule
SerializedGroup
Class SerializedGroup, contains group data. Implements the VersionedStruct
SerializedMeta
Class SerializedMeta, contains metadata information. Implements the VersionedStruct
SerializedNode
Class SerializedNode, contains node data. Implements the VersionedStruct
SerializedNodeUpgrade
SerializedNodeUpgrade, upgrade module for nodes. Implements the UpgradeModule
SerializedParameter
Class SerializedParameter, represents the parameter data. Implements the VersionedStruct
SerializedParameterUpgrade
SerializedParameterUpgrade, upgrade module for parameters. Implements the UpgradeModule
SerializedScheduler
SerializedScheduler, represents the scheduler settings Implements the VersionedStruct
SystemEdge
SystemEdge handles edge manipulation in the graph. Implements the Edge
SystemEdgeConnector<TEdge>
SystemEdgeConnector handles the events of edges in the graph. Implements the EdgeConnector
SystemEdgeControl
SystemEdgeControl handles the visual effects of edges in the graph. Implements the VisualElement
SystemEdgeDragHelper<TEdge>
SystemEdgeDragHelper handles dragging of edges in the graph. Implements the EdgeDragHelper
SystemGraphComponent
Main monobehaviour component for sytem graph
SystemGraphComponent.PendingGraphDescriptor
Description of a graph to add to the reference graph stack.
SystemGraphData
Class SystemGraphData represents the serialized data in the SystemGraph Asset file. Implements the IEquatable<T>
SystemGraphManager
Manages all system graph components in the scene
SystemGraphManager.GraphDescriptor
Description of a system graph.
SystemGraphManager.PortBinding
Description of a port binding, with source port ID and the binding port Id.
SystemGraphObject
Class SystemGraphObject contains the SystemGraphData and internal data model caches. Implements the ScriptableObject
SystemGraphPackageInfo
Meta data on the SystemGraph package.
SystemGraphView
SystemGraphView, the graphview framework tailored for SystemGraph assets. Implements the GraphView
SystemGroupView
SystemGroupView extends the visual graph element for groups. Implements the Group
Tick
Timer tick helper functions for Mechatronics.SystemGraph Give time resolution ticks down to the nanosecond
TypeNameChangeGlobalAttribute
Define a type name change mapping globally.
TypeNameChangedAttribute
This attribute is for when a class or struct name changes, so that the SerializableType module can find the type in this scenario. If a type name is changed without this attribute, then there may be errors.
UpgradeEngine
UpgradeEngine class handles upgrading mechanism for SystemGraph assets Implements the Attribute
UpgradeModule
UpgradeModule is implemented per version to handle upgrading for that version.
VersionedStruct
Class VersionedStruct.
Enums
Alignment
Alignment constants
AutoRouter.Direction.Alignment
Alignment of the current target
AutoRouter.Direction.Pole
Poles around the current position
Distribution
Distribution constants
FieldExtra
Flags that describe what the function of the specific port is.
FieldNameReservedCharacters
Reserved characters on port names.
GlobalSystemGraph.TimeStepMechanism
Enumeration of possible timing configs.
GraphGenerator.BeautifyLayout.TreeDistribution
Enum TreeDistribution direction
IPortTypeConverter.DriverSide
Describes port propagation priority if it exists.
LifeCycle
LifeCycle bitmask that defines Unity events that this node registers to
Linker.LinkerResult
Enum LinkerResult
LynX.QueryFormat
Query Format information used for conversion
NodeMode
NodeMode bitmask enumeration define in which search popup context menu that this node will be included.
NodeSystemGraph.CreationMode
Enum CreationMode
NodeTick
NodeTick set the scheduler ticking mode of the node.
PortDirection
Describes where the port appears in the node editor.
Scheduler.ClockSource
ClockSource defines the timer source that will update the scheduler
Scheduler.Signal
Signal that the scheduler sends to node runtime
Scheduler.TimeUnit
TimeUnit expressed in unit per seconds
SystemEdge.State
State of the connection of this edge
Delegates
GraphGenerator.AfterBeautify
A delegate to call after beautifying the graph.
GraphGenerator.SerializationHandlers.AddComment
Delegate AddComment
GraphGenerator.SerializationHandlers.AddEdge
Delegate AddEdge
GraphGenerator.SerializationHandlers.AddGroup
Delegate AddGroup
GraphGenerator.SerializationHandlers.AddMeta
Delegate AddMeta
GraphGenerator.SerializationHandlers.AddNode
Delegate AddNode
GraphGenerator.SerializationHandlers.AddParameter
Delegate AddParameter
GraphGenerator.SerializationHandlers.AddScheduler
AddScheduler delegate
GraphGenerator.SerializationHandlers.RemoveComment
Delegate RemoveComment
GraphGenerator.SerializationHandlers.RemoveEdge
Delegate RemoveEdge
GraphGenerator.SerializationHandlers.RemoveGroup
Delegate RemoveGroup
GraphGenerator.SerializationHandlers.RemoveMeta
Delegate RemoveMeta
GraphGenerator.SerializationHandlers.RemoveNode
Delegate RemoveNode
GraphGenerator.SerializationHandlers.RemoveParameter
Delegate RemoveParameter
GraphGenerator.SerializationHandlers.RemoveScheduler
Delegate RemoveScheduler
GraphTree.TraverseDelegate
Delegate TraverseDelegate
IPortEditor.tDelegateCreate
Delegate tDelegateCreate
IPortEditor.tDelegateRefreshEditor
Delegate tDelegateRefreshEditor
IPortEditor.tDelegateSpawnEditor
Delegate tDelegateSpawnEditor
IPortType.HandlerBatch
Special handler type for batch change events
InspectorEditor.DelegateInspectorExtensions
Extension method for this inspector, called in the GUILoop
PortTypeClock.HandlerRisingEdge
Delegate describing the callback for port change events.
SystemGraphComponent.PendingGraphDescriptor.HandlerEnable
Delegate HandlerEnable
UpgradeModule.Patch
Delegate Patch