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 Versioned
CommentDescriptor
CommentDescriptor stores the comment information attached to SystemGraph assets.
DataCastToComputeBufferNode
Class DataCastToComputeBufferNode.
Implements the Node
DataCastToTextureNode
Class DataCastToTextureNode.
Implements the Node
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 Field
FieldArray<T>
FieldArray, represents an array field type.
Implements the Field
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 Field
FieldBox<U>
Class FieldBox.
Implements the IField
FieldDouble
FieldDouble, represents a double field type.
Implements the Field
FieldEnum
FieldEnum, represents an enum field type.
Implements the Field
FieldFloat
FieldFloat, represents a float field type.
Implements the Field
FieldGameObject
FieldGameObject, represents a GameObject field type.
Implements the Field
FieldInt
FieldInt, represents a int field type.
Implements the Field
FieldQuaternion
FieldQuaternion, represents a quaternion field.
Implements the Field
FieldString
FieldString, represents a string field type.
Implements the Field
FieldSystemGraphAsset
FieldSystemGraphAsset, represents a SystemGraphAsset field type.
Implements the Field
FieldTexture2D
FieldTexture2D, represents a Texture2D field type.
Implements the Field
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 Field
FieldVector2
FieldVector2, represents a Vector2 field type.
Implements the Field
FieldVector3
FieldVector3, represents a Vector3 field type.
Implements the Field
FieldVector4
FieldVector4, represents a Vector4 field type.
Implements the Field
GlobalSystemGraph
Global system graph object to manage timing and physics.
GraphDescriptor
GraphDescriptor represent the serialized information of a SystemGraph asset.
Implements the Scriptable
GraphEditorObject
GraphEditorObject stores the graph asset data.
Implements the Scriptable
GraphEditorView
GraphEditorView represents the graph view container that lives in the editor window.
Implements the Visual
GraphEditorView.CopyPasteDescriptor
Class CopyPasteDescriptor.
GraphEditorWindow
GraphEditorWindow, extends the editor window for SystemGraph asset manipulation.
Implements the Editor
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 Node
NodeBool
Class NodeBool.
Implements the Node
NodeCategoryAttribute
Class NodeCategoryAttribute. Implements the Attribute
NodeClock
Class NodeClock.
Implements the Node
NodeDescriptor
NodeDescriptor stores the node information attached to SystemGraph assets.
NodeDouble
Class NodeDouble.
Implements the Node
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 INode
NodeExpandable
Class NodeExpandable.
Implements the Node
NodeExpandable<T>
Class NodeExpandable.
Implements the Node
NodeFloat
Class NodeFloat.
Implements the Node
NodeGameObject
Class NodeGameObject.
Implements the Node
NodeInt
Class NodeInt.
Implements the Node
NodeQuaternion
Class NodeQuaternion.
Implements the Node
NodeRenderTexture
Class NodeRenderTexture.
Implements the Node
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 Node
NodeSystemGraph
Class NodeSystemGraph.
Implements the Node
NodeTexture2D
Class NodeTexture2D.
Implements the Node
NodeUint
Class NodeUint.
Implements the Node
NodeVector2
Class NodeVector2.
Implements the Node
NodeVector3
Class NodeVector3.
Implements the Node
NodeVector4
Class NodeVector4.
Implements the Node
ParameterDescriptor
ParameterDescriptor stores the parameter information attached to SystemGraph assets.
PortAnimationCurveEditor
PortAnimationCurveEditor represents an animation curve port.
Implements the Port
PortBoolEditor
PortBoolEditor represents visuals of a bool typed port.
Implements the Port
PortConverterAttribute
Class PortConverterAttribute. The PortConverter attribute registers a from-to type converter for your ports. Implements the Attribute
PortConverterBoolString
Class PortConverterBoolString.
Implements the Port
PortConverterDoubleFloat
Class PortConverterDoubleFloat.
Implements the Port
PortConverterDoubleInt
Class PortConverterDoubleInt.
Implements the Port
PortConverterDoubleString
Class PortConverterDoubleString.
Implements the Port
PortConverterDoubleUint
Class PortConverterDoubleUint.
Implements the Port
PortConverterFloatDouble
Class PortConverterFloatDouble.
Implements the Port
PortConverterFloatInt
Class PortConverterFloatInt.
Implements the Port
PortConverterFloatString
Class PortConverterFloatString.
Implements the Port
PortConverterFloatUint
Class PortConverterFloatUint.
Implements the Port
PortConverterIntDouble
Class PortConverterIntDouble.
Implements the Port
PortConverterIntFloat
Class PortConverterIntFloat.
Implements the Port
PortConverterIntString
Class PortConverterIntString.
Implements the Port
PortConverterIntUint
Class PortConverterIntUint.
Implements the Port
PortConverterToString<T>
Class PortConverterToString.
Implements the Port
PortConverterUintDouble
Class PortConverterUintDouble.
Implements the Port
PortConverterUintFloat
Class PortConverterUintFloat.
Implements the Port
PortConverterUintInt
Class PortConverterUintInt.
Implements the Port
PortConverterUintString
Class PortConverterUintString.
Implements the Port
PortConverterVector3String
Class PortConverterVector3String.
Implements the Port
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 Port
PortEditor<T>
Class PortEditor.
Implements the IPort
PortEnumEditor
PortEnumEditor represents visuals of a enum types port.
Implements the Port
PortFloatEditor
PortFloatEditor represents visuals of a float types port.
Implements the Port
PortGameObjectEditor
PortGameObjectEditor represents visuals of a game object typed port.
Implements the Port
PortIntEditor
PortIntEditor represents visuals of a int typed port.
Implements the Port
PortInterConnect
Generic port interconnect implementation.
PortListEditor<T>
PortListEditor represents visuals of a list typed port.
Implements the Port
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 Port
PortStringEditor
PortStringEditor represents visuals of a string typed port.
Implements the Port
PortSystemGraphEditor
PortSystemGraphEditor represents visuals of the SystemGraph typed port.
Implements the Port
PortTexture2dEditor
PortTexture2dEditor represents visuals of a texture2d typed port.
Implements the Port
PortTypeAnimationCurve
Class PortTypeAnimationCurve.
Implements the Port
PortTypeBool
Class PortTypeBool.
Implements the Port
PortTypeClock
Manager for all change events inside ports.
PortTypeEnum
Class PortTypeEnum.
Implements the Port
PortTypeFloat
Class PortTypeFloat.
Implements the Port
PortTypeGameObject
Class PortTypeGameObject.
Implements the Port
PortTypeInt
Class PortTypeInt.
Implements the Port
PortTypeNodeRuntime
Class PortTypeNodeRuntime.
Implements the IPort
PortTypeQuaternion
Class PortTypeQuaternion.
Implements the Port
PortTypeString
Class PortTypeString.
Implements the Port
PortTypeSystemGraphAsset
Class PortTypeSystemGraphAsset.
Implements the IPort
PortTypeTexture2D
Class PortTypeTexture2D.
Implements the Port
PortTypeUint
Class PortTypeUint.
Implements the Port
PortTypeVector2
Class PortTypeVector2.
Implements the Port
PortTypeVector3
Class PortTypeVector3.
Implements the Port
PortTypeVector4
Class PortTypeVector4.
Implements the Port
PortType<T>
Generic port type to simplify port creation.
PortUintEditor
PortUintEditor represents visuals of a uint typed port.
Implements the Port
PortVector2Editor
PortVector2Editor represents visuals of a vector2 typed port.
Implements the Port
PortVector3Editor
PortVector3Editor represents visuals of a vector3 port.
Implements the Port
PortVector4Editor
PortVector4Editor represents visuals of a vector4 port.
Implements the Port
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 Scriptable
SerializedComment
Class SerializedComment, contains comment data.
Implements the Versioned
SerializedEdge
Class SerializedEdge, contains edge data.
Implements the Versioned
SerializedEdgeUpgrade
SerializedEdgeUpgrade, upgrade module for edges.
Implements the Upgrade
SerializedGroup
Class SerializedGroup, contains group data.
Implements the Versioned
SerializedMeta
Class SerializedMeta, contains metadata information.
Implements the Versioned
SerializedNode
Class SerializedNode, contains node data.
Implements the Versioned
SerializedNodeUpgrade
SerializedNodeUpgrade, upgrade module for nodes.
Implements the Upgrade
SerializedParameter
Class SerializedParameter, represents the parameter data.
Implements the Versioned
SerializedParameterUpgrade
SerializedParameterUpgrade, upgrade module for parameters.
Implements the Upgrade
SerializedScheduler
SerializedScheduler, represents the scheduler settings
Implements the Versioned
SystemEdge
SystemEdge handles edge manipulation in the graph. Implements the Edge
SystemEdgeConnector<TEdge>
SystemEdgeConnector handles the events of edges in the graph.
Implements the Edge
SystemEdgeControl
SystemEdgeControl handles the visual effects of edges in the graph.
Implements the Visual
SystemEdgeDragHelper<TEdge>
SystemEdgeDragHelper handles dragging of edges in the graph.
Implements the Edge
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 Scriptable
SystemGraphPackageInfo
Meta data on the SystemGraph package.
SystemGraphView
SystemGraphView, the graphview framework tailored for SystemGraph assets.
Implements the Graph
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