├── .github └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── .vscode ├── launch.json └── settings.json ├── .vsconfig ├── Assets ├── Examples.meta ├── Examples │ ├── BasicExample.asset │ ├── BasicExample.asset.meta │ ├── ConditionalGraph.asset │ ├── ConditionalGraph.asset.meta │ ├── ConditionalGraph.meta │ ├── ConditionalGraph │ │ ├── Comparison.cs │ │ ├── Comparison.cs.meta │ │ ├── ConditionalLink.cs │ │ ├── ConditionalLink.cs.meta │ │ ├── ConditionalNode.cs │ │ ├── ConditionalNode.cs.meta │ │ ├── ConditionalProcessor.cs │ │ ├── ConditionalProcessor.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── ComparisonView.cs │ │ │ ├── ComparisonView.cs.meta │ │ │ ├── ConditionalProcessorView.cs │ │ │ └── ConditionalProcessorView.cs.meta │ │ ├── IConditionalNode.cs │ │ ├── IConditionalNode.cs.meta │ │ ├── StartNode.cs │ │ └── StartNode.cs.meta │ ├── CustomConvertions.cs │ ├── CustomConvertions.cs.meta │ ├── CustomOutputExample.asset │ ├── CustomOutputExample.asset.meta │ ├── CustomPushExample.asset │ ├── CustomPushExample.asset.meta │ ├── CycleTest.asset │ ├── CycleTest.asset.meta │ ├── DefaultNodes.meta │ ├── DefaultNodes │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── AbstractNodeView.cs │ │ │ ├── AbstractNodeView.cs.meta │ │ │ ├── CircleRadiansView.cs │ │ │ ├── CircleRadiansView.cs.meta │ │ │ ├── ColorNodeView.cs │ │ │ ├── ColorNodeView.cs.meta │ │ │ ├── FloatNodeView.cs │ │ │ ├── FloatNodeView.cs.meta │ │ │ ├── ForLoopNodeView.cs │ │ │ ├── ForLoopNodeView.cs.meta │ │ │ ├── IfNodeView.cs │ │ │ ├── IfNodeView.cs.meta │ │ │ ├── MessageNode2View.cs │ │ │ ├── MessageNode2View.cs.meta │ │ │ ├── MutliAddNodeView.cs │ │ │ ├── MutliAddNodeView.cs.meta │ │ │ ├── PrefabNodeView.cs │ │ │ ├── PrefabNodeView.cs.meta │ │ │ ├── PrintNodeView.cs │ │ │ ├── PrintNodeView.cs.meta │ │ │ ├── SettingsNodeView.cs │ │ │ ├── SettingsNodeView.cs.meta │ │ │ ├── StringNodeView.cs │ │ │ ├── StringNodeView.cs.meta │ │ │ ├── SwitchNodeView.cs │ │ │ ├── SwitchNodeView.cs.meta │ │ │ ├── TypeSwitchNodeView.cs │ │ │ └── TypeSwitchNodeView.cs.meta │ │ ├── Nodes.meta │ │ └── Nodes │ │ │ ├── AbstractNode.cs │ │ │ ├── AbstractNode.cs.meta │ │ │ ├── CircleRadians.cs │ │ │ ├── CircleRadians.cs.meta │ │ │ ├── ColorNode.cs │ │ │ ├── ColorNode.cs.meta │ │ │ ├── ConsoleLogNode.cs │ │ │ ├── ConsoleLogNode.cs.meta │ │ │ ├── CustomPortDataNode.cs │ │ │ ├── CustomPortDataNode.cs.meta │ │ │ ├── CustomPortsNode.cs │ │ │ ├── CustomPortsNode.cs.meta │ │ │ ├── DrawerFieldTestNode.cs │ │ │ ├── DrawerFieldTestNode.cs.meta │ │ │ ├── FieldTestNode.cs │ │ │ ├── FieldTestNode.cs.meta │ │ │ ├── FloatNode.cs │ │ │ ├── FloatNode.cs.meta │ │ │ ├── ForLoopNode.cs │ │ │ ├── ForLoopNode.cs.meta │ │ │ ├── GameObjectNode.cs │ │ │ ├── GameObjectNode.cs.meta │ │ │ ├── IfNode.cs │ │ │ ├── IfNode.cs.meta │ │ │ ├── Inheritance1.cs │ │ │ ├── Inheritance1.cs.meta │ │ │ ├── Inheritance2.cs │ │ │ ├── Inheritance2.cs.meta │ │ │ ├── InheritanceBase.cs │ │ │ ├── InheritanceBase.cs.meta │ │ │ ├── InspectorNode.cs │ │ │ ├── InspectorNode.cs.meta │ │ │ ├── ListNode.cs │ │ │ ├── ListNode.cs.meta │ │ │ ├── MessageNode.cs │ │ │ ├── MessageNode.cs.meta │ │ │ ├── MessageNode2.cs │ │ │ ├── MessageNode2.cs.meta │ │ │ ├── MultiAddNode.cs │ │ │ ├── MultiAddNode.cs.meta │ │ │ ├── OutputNode.cs │ │ │ ├── OutputNode.cs.meta │ │ │ ├── PortConnectionTests.cs │ │ │ ├── PortConnectionTests.cs.meta │ │ │ ├── PrefabNode.cs │ │ │ ├── PrefabNode.cs.meta │ │ │ ├── PrintNode.cs │ │ │ ├── PrintNode.cs.meta │ │ │ ├── RenamableNode.cs │ │ │ ├── RenamableNode.cs.meta │ │ │ ├── SettingsNode.cs │ │ │ ├── SettingsNode.cs.meta │ │ │ ├── StringNode.cs │ │ │ ├── StringNode.cs.meta │ │ │ ├── SubNode.cs │ │ │ ├── SubNode.cs.meta │ │ │ ├── SwitchNode.cs │ │ │ ├── SwitchNode.cs.meta │ │ │ ├── TextNode.cs │ │ │ ├── TextNode.cs.meta │ │ │ ├── TypeSwitchNode.cs │ │ │ ├── TypeSwitchNode.cs.meta │ │ │ ├── UnityEventNode.cs │ │ │ ├── UnityEventNode.cs.meta │ │ │ ├── VectorNode.cs │ │ │ ├── VectorNode.cs.meta │ │ │ ├── VerticalNode.cs │ │ │ ├── VerticalNode.cs.meta │ │ │ ├── VerticalNode2.cs │ │ │ ├── VerticalNode2.cs.meta │ │ │ ├── VisibleIfAttributeNode.cs │ │ │ ├── VisibleIfAttributeNode.cs.meta │ │ │ ├── WaitFrameNode.cs │ │ │ ├── WaitFrameNode.cs.meta │ │ │ ├── WaitNode.cs │ │ │ └── WaitNode.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── 01_DefaultGraph.meta │ │ ├── 01_DefaultGraph │ │ │ ├── DefaultGraphWindow.cs │ │ │ └── DefaultGraphWindow.cs.meta │ │ ├── 02_CustomContextMenu.meta │ │ ├── 02_CustomContextMenu │ │ │ ├── CustomContextMenuGraphView.cs │ │ │ ├── CustomContextMenuGraphView.cs.meta │ │ │ ├── CustomContextMenuGraphWindow.cs │ │ │ └── CustomContextMenuGraphWindow.cs.meta │ │ ├── 03_CustomToolbar.meta │ │ ├── 03_CustomToolbar │ │ │ ├── CustomToolbarGraphView.cs │ │ │ ├── CustomToolbarGraphView.cs.meta │ │ │ ├── CustomToolbarGraphWindow.cs │ │ │ ├── CustomToolbarGraphWindow.cs.meta │ │ │ ├── CustomToolbarView.cs │ │ │ └── CustomToolbarView.cs.meta │ │ ├── 04_ExposedProperties.meta │ │ ├── 04_ExposedProperties │ │ │ ├── ExposedPropertiesGraph.cs │ │ │ ├── ExposedPropertiesGraph.cs.meta │ │ │ ├── ExposedPropertiesGraphView.cs │ │ │ ├── ExposedPropertiesGraphView.cs.meta │ │ │ ├── ExposedPropertiesGraphWindow.cs │ │ │ └── ExposedPropertiesGraphWindow.cs.meta │ │ ├── 05_All.meta │ │ ├── 05_All │ │ │ ├── AllGraphView.cs │ │ │ ├── AllGraphView.cs.meta │ │ │ ├── AllGraphWindow.cs │ │ │ └── AllGraphWindow.cs.meta │ │ ├── GraphAssetCallbacks.cs │ │ ├── GraphAssetCallbacks.cs.meta │ │ ├── GraphAssetInspector.cs │ │ ├── GraphAssetInspector.cs.meta │ │ ├── GraphBehaviourEditor.cs │ │ ├── GraphBehaviourEditor.cs.meta │ │ ├── GraphProcessorMenuItems.cs │ │ └── GraphProcessorMenuItems.cs.meta │ ├── ExposedGetProperties.asset │ ├── ExposedGetProperties.asset.meta │ ├── ExposedPropertiesExample.asset │ ├── ExposedPropertiesExample.asset.meta │ ├── GraphBehaviour.cs │ ├── GraphBehaviour.cs.meta │ ├── GraphProcessor.asset │ ├── GraphProcessor.asset.meta │ ├── Multi-Port.asset │ ├── Multi-Port.asset.meta │ ├── MultiPort2.asset │ ├── MultiPort2.asset.meta │ ├── Performances.meta │ ├── Performances │ │ ├── BigComputeOrder.asset │ │ ├── BigComputeOrder.asset.meta │ │ ├── LotsOfNode.asset │ │ └── LotsOfNode.asset.meta │ ├── Relay test.asset │ ├── Relay test.asset.meta │ ├── RelayTest.asset │ ├── RelayTest.asset.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Cube.prefab │ │ ├── Cube.prefab.meta │ │ ├── PortViewTypes.uss │ │ ├── PortViewTypes.uss.meta │ │ ├── TestType.uss │ │ └── TestType.uss.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── Conditional Graph.unity │ │ ├── Conditional Graph.unity.meta │ │ ├── ConditionalGraph.meta │ │ ├── ConditionalGraph │ │ │ ├── RuntimeConditionalGraph.cs │ │ │ └── RuntimeConditionalGraph.cs.meta │ │ ├── EmbeddedGraph.unity │ │ ├── EmbeddedGraph.unity.meta │ │ ├── RuntimeGraph.meta │ │ ├── RuntimeGraph.unity │ │ ├── RuntimeGraph.unity.meta │ │ └── RuntimeGraph │ │ │ ├── RuntimeGraph.cs │ │ │ └── RuntimeGraph.cs.meta │ ├── Simple.asset │ ├── Simple.asset.meta │ ├── Vertical.asset │ ├── Vertical.asset.meta │ ├── Wait-Test.asset │ └── Wait-Test.asset.meta ├── Gizmos.meta ├── Gizmos │ ├── GraphProcessor.meta │ └── GraphProcessor │ │ ├── BaseGraph Icon.png │ │ └── BaseGraph Icon.png.meta ├── Tests.meta ├── com.alelievr.NodeGraphProcessor.meta └── com.alelievr.NodeGraphProcessor │ ├── Editor.meta │ ├── Editor │ ├── BaseGraphWindow.cs │ ├── BaseGraphWindow.cs.meta │ ├── Callbacks.meta │ ├── Callbacks │ │ ├── NodeGraphProcessorMenuItems.cs │ │ ├── NodeGraphProcessorMenuItems.cs.meta │ │ ├── OnBaseGraphDeleted.cs │ │ └── OnBaseGraphDeleted.cs.meta │ ├── EditorAttributes.cs │ ├── EditorAttributes.cs.meta │ ├── GraphInspector.cs │ ├── GraphInspector.cs.meta │ ├── Logic.meta │ ├── Logic │ │ ├── EdgeConnectorListener.cs │ │ └── EdgeConnectorListener.cs.meta │ ├── NodeInspectorObject.cs │ ├── NodeInspectorObject.cs.meta │ ├── Resources.meta │ ├── Resources │ │ ├── GraphProcessorElements.meta │ │ ├── GraphProcessorElements │ │ │ ├── PinnedElement.uxml │ │ │ └── PinnedElement.uxml.meta │ │ ├── GraphProcessorStyles.meta │ │ ├── GraphProcessorStyles │ │ │ ├── BaseGraphView.uss │ │ │ ├── BaseGraphView.uss.meta │ │ │ ├── BaseNodeView.uss │ │ │ ├── BaseNodeView.uss.meta │ │ │ ├── BaseStackNodeView.uss │ │ │ ├── BaseStackNodeView.uss.meta │ │ │ ├── EdgeView.uss │ │ │ ├── EdgeView.uss.meta │ │ │ ├── ExposedParameterView.uss │ │ │ ├── ExposedParameterView.uss.meta │ │ │ ├── GroupView.uss │ │ │ ├── GroupView.uss.meta │ │ │ ├── InspectorView.uss │ │ │ ├── InspectorView.uss.meta │ │ │ ├── NodeSettings.uss │ │ │ ├── NodeSettings.uss.meta │ │ │ ├── PinnedElementView.uss │ │ │ ├── PinnedElementView.uss.meta │ │ │ ├── PortView.uss │ │ │ ├── PortView.uss.meta │ │ │ ├── RelayNode.uss │ │ │ └── RelayNode.uss.meta │ │ ├── Icons.meta │ │ ├── Icons │ │ │ ├── SettingsIcons.png │ │ │ └── SettingsIcons.png.meta │ │ ├── NodeTemplate.cs.txt │ │ ├── NodeTemplate.cs.txt.meta │ │ ├── NodeViewTemplate.cs.txt │ │ ├── NodeViewTemplate.cs.txt.meta │ │ ├── Settings_Flyout_9slice.png │ │ ├── Settings_Flyout_9slice.png.meta │ │ ├── Settings_Flyout_9slice@2x.png │ │ ├── Settings_Flyout_9slice@2x.png.meta │ │ ├── UXML.meta │ │ └── UXML │ │ │ ├── NodeSettings.uxml │ │ │ └── NodeSettings.uxml.meta │ ├── Utils.meta │ ├── Utils │ │ ├── BaseEdgeConnector.cs │ │ ├── BaseEdgeConnector.cs.meta │ │ ├── BaseEdgeDragHelper.cs │ │ ├── BaseEdgeDragHelper.cs.meta │ │ ├── CopyPasteHelper.cs │ │ ├── CopyPasteHelper.cs.meta │ │ ├── ExposedParameterDrawer.cs │ │ ├── ExposedParameterDrawer.cs.meta │ │ ├── FieldFactory.cs │ │ ├── FieldFactory.cs.meta │ │ ├── NodeProvider.cs │ │ ├── NodeProvider.cs.meta │ │ ├── StackNodeViewProvider.cs │ │ ├── StackNodeViewProvider.cs.meta │ │ ├── Vector4Drawer.cs │ │ └── Vector4Drawer.cs.meta │ ├── Views.meta │ ├── Views │ │ ├── BaseGraphView.cs │ │ ├── BaseGraphView.cs.meta │ │ ├── BaseNodeView.cs │ │ ├── BaseNodeView.cs.meta │ │ ├── BaseStackNodeView.cs │ │ ├── BaseStackNodeView.cs.meta │ │ ├── CreateNodeMenuWindow.cs │ │ ├── CreateNodeMenuWindow.cs.meta │ │ ├── EdgeView.cs │ │ ├── EdgeView.cs.meta │ │ ├── ExposedParameterFieldFactory.cs │ │ ├── ExposedParameterFieldFactory.cs.meta │ │ ├── ExposedParameterFieldView.cs │ │ ├── ExposedParameterFieldView.cs.meta │ │ ├── ExposedParameterPropertyView.cs │ │ ├── ExposedParameterPropertyView.cs.meta │ │ ├── ExposedParameterView.cs │ │ ├── ExposedParameterView.cs.meta │ │ ├── ExposedParameterWorkaround.cs │ │ ├── ExposedParameterWorkaround.cs.meta │ │ ├── GroupView.cs │ │ ├── GroupView.cs.meta │ │ ├── MiniMapView.cs │ │ ├── MiniMapView.cs.meta │ │ ├── NodeBadgeView.cs │ │ ├── NodeBadgeView.cs.meta │ │ ├── NodeSettingsView.cs │ │ ├── NodeSettingsView.cs.meta │ │ ├── ParameterNodeView.cs │ │ ├── ParameterNodeView.cs.meta │ │ ├── PinnedElementView.cs │ │ ├── PinnedElementView.cs.meta │ │ ├── PortView.cs │ │ ├── PortView.cs.meta │ │ ├── ProcessorView.cs │ │ ├── ProcessorView.cs.meta │ │ ├── RelayNodeView.cs │ │ ├── RelayNodeView.cs.meta │ │ ├── StickyNoteView.cs │ │ ├── StickyNoteView.cs.meta │ │ ├── ToolbarView.cs │ │ └── ToolbarView.cs.meta │ ├── com.alelievr.NodeGraphProcessor.Editor.asmdef │ ├── com.alelievr.NodeGraphProcessor.Editor.asmdef.meta │ ├── node.png │ ├── node.png.meta │ ├── untitled (1).png │ ├── untitled (1).png.meta │ ├── untitled.png │ └── untitled.png.meta │ ├── Runtime.meta │ ├── Runtime │ ├── Elements.meta │ ├── Elements │ │ ├── BaseNode.cs │ │ ├── BaseNode.cs.meta │ │ ├── BaseStackNode.cs │ │ ├── BaseStackNode.cs.meta │ │ ├── ExposedParameter.cs │ │ ├── ExposedParameter.cs.meta │ │ ├── Group.cs │ │ ├── Group.cs.meta │ │ ├── ICreateNodeFromObject.cs │ │ ├── ICreateNodeFromObject.cs.meta │ │ ├── NodePort.cs │ │ ├── NodePort.cs.meta │ │ ├── ParameterNode.cs │ │ ├── ParameterNode.cs.meta │ │ ├── PinnedElement.cs │ │ ├── PinnedElement.cs.meta │ │ ├── RelayNode.cs │ │ ├── RelayNode.cs.meta │ │ ├── StickyNote.cs │ │ └── StickyNote.cs.meta │ ├── Graph.meta │ ├── Graph │ │ ├── Attributes.cs │ │ ├── Attributes.cs.meta │ │ ├── BaseGraph.cs │ │ └── BaseGraph.cs.meta │ ├── PackageInfo.cs │ ├── PackageInfo.cs.meta │ ├── Processing.meta │ ├── Processing │ │ ├── BaseGraphProcessor.cs │ │ ├── BaseGraphProcessor.cs.meta │ │ ├── CustomPortIO.cs │ │ ├── CustomPortIO.cs.meta │ │ ├── JobGraphProcessor.cs │ │ ├── JobGraphProcessor.cs.meta │ │ ├── ProcessGraphProcessor.cs │ │ ├── ProcessGraphProcessor.cs.meta │ │ ├── TypeAdapter.cs │ │ └── TypeAdapter.cs.meta │ ├── Utils.meta │ ├── Utils │ │ ├── AppDomainExtension.cs │ │ ├── AppDomainExtension.cs.meta │ │ ├── ExceptionToLog.cs │ │ ├── ExceptionToLog.cs.meta │ │ ├── GraphUtils.cs │ │ ├── GraphUtils.cs.meta │ │ ├── JsonSerializer.cs │ │ ├── JsonSerializer.cs.meta │ │ ├── MessageType.cs │ │ ├── MessageType.cs.meta │ │ ├── SerializableEdge.cs │ │ ├── SerializableEdge.cs.meta │ │ ├── SerializableType.cs │ │ ├── SerializableType.cs.meta │ │ ├── SerrializableObject.cs │ │ ├── SerrializableObject.cs.meta │ │ ├── TypeExtension.cs │ │ └── TypeExtension.cs.meta │ ├── com.alelievr.NodeGraphProcessor.Runtime.asmdef │ └── com.alelievr.NodeGraphProcessor.Runtime.asmdef.meta │ ├── package.json │ └── package.json.meta ├── CHANGELOG.md ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── TimelineSettings.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config ├── README.md ├── UIElementsSchema ├── UIElements.xsd ├── UnityEditor.Experimental.GraphView.xsd ├── UnityEditor.PackageManager.UI.xsd ├── UnityEditor.UIElements.xsd └── UnityEngine.UIElements.xsd ├── UPGRADE-GUIDE.md └── docs ├── api ├── GraphProcessor.AppDomainExtension.html ├── GraphProcessor.BaseGraph.html ├── GraphProcessor.BaseGraphProcessor.html ├── GraphProcessor.BaseGraphView.ComputeOrderUpdatedDelegate.html ├── GraphProcessor.BaseGraphView.html ├── GraphProcessor.BaseGraphWindow.html ├── GraphProcessor.BaseNode.ProcessDelegate.html ├── GraphProcessor.BaseNode.html ├── GraphProcessor.BaseNodeView.html ├── GraphProcessor.CommentBlock.html ├── GraphProcessor.CommentBlockView.html ├── GraphProcessor.CopyPasteHelper.html ├── GraphProcessor.CustomPortBehaviorAttribute.html ├── GraphProcessor.CustomPortBehaviorDelegate.html ├── GraphProcessor.CustomPortIO.html ├── GraphProcessor.CustomPortIODelegate.html ├── GraphProcessor.CustomPortInputAttribute.html ├── GraphProcessor.CustomPortOutputAttribute.html ├── GraphProcessor.DeleteCallback.html ├── GraphProcessor.EdgeConnectorListener.html ├── GraphProcessor.EdgeView.html ├── GraphProcessor.ExposedParameter.html ├── GraphProcessor.ExposedParameterFieldView.html ├── GraphProcessor.ExposedParameterPropertyView.html ├── GraphProcessor.ExposedParameterSettings.html ├── GraphProcessor.ExposedParameterView.html ├── GraphProcessor.FieldDrawerAttribute.html ├── GraphProcessor.FieldFactory.html ├── GraphProcessor.GraphChanges.html ├── GraphProcessor.GraphInspector.html ├── GraphProcessor.ITypeAdapter.html ├── GraphProcessor.InputAttribute.html ├── GraphProcessor.JobGraphProcessor.html ├── GraphProcessor.JsonElement.html ├── GraphProcessor.JsonSerializer.html ├── GraphProcessor.MiniMapView.html ├── GraphProcessor.NodeBadgeView.html ├── GraphProcessor.NodeCustomEditor.html ├── GraphProcessor.NodeGraphProcessorMenuItems.MenuItemPosition.html ├── GraphProcessor.NodeGraphProcessorMenuItems.html ├── GraphProcessor.NodeInputPortContainer.html ├── GraphProcessor.NodeMenuItemAttribute.html ├── GraphProcessor.NodeMessageType.html ├── GraphProcessor.NodeOutputPortContainer.html ├── GraphProcessor.NodePort.PushDataDelegate.html ├── GraphProcessor.NodePort.html ├── GraphProcessor.NodePortContainer.html ├── GraphProcessor.NodeProvider.html ├── GraphProcessor.OutputAttribute.html ├── GraphProcessor.ParameterAccessor.html ├── GraphProcessor.ParameterNode.html ├── GraphProcessor.PinnedElement.html ├── GraphProcessor.PinnedElementView.html ├── GraphProcessor.PortData.html ├── GraphProcessor.PortView.html ├── GraphProcessor.ProcessGraphProcessor.html ├── GraphProcessor.ProcessorView.html ├── GraphProcessor.SerializableEdge.html ├── GraphProcessor.SerializableObject.html ├── GraphProcessor.SerializableType.html ├── GraphProcessor.ToolbarView.html ├── GraphProcessor.TypeAdapter.html ├── GraphProcessor.TypeExtension.html ├── GraphProcessor.html ├── index.html └── toc.html ├── articles ├── intro.html └── toc.html ├── docfx ├── .gitignore ├── api │ ├── .gitignore │ └── index.md ├── articles │ ├── intro.md │ └── toc.yml ├── docfx.json ├── filterConfig.yml ├── index.md ├── templates │ ├── default │ │ ├── ManagedReference.common.js │ │ ├── ManagedReference.extension.js │ │ ├── ManagedReference.html.primary.js │ │ ├── ManagedReference.html.primary.tmpl │ │ ├── RestApi.common.js │ │ ├── RestApi.extension.js │ │ ├── RestApi.html.primary.js │ │ ├── RestApi.html.primary.tmpl │ │ ├── UniversalReference.common.js │ │ ├── UniversalReference.extension.js │ │ ├── UniversalReference.html.primary.js │ │ ├── UniversalReference.html.primary.tmpl │ │ ├── common.js │ │ ├── conceptual.extension.js │ │ ├── conceptual.html.primary.js │ │ ├── conceptual.html.primary.tmpl │ │ ├── favicon.ico │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── layout │ │ │ └── _master.tmpl │ │ ├── logo.svg │ │ ├── partials │ │ │ ├── _affix.liquid │ │ │ ├── _breadcrumb.liquid │ │ │ ├── _footer.liquid │ │ │ ├── _head.liquid │ │ │ ├── _logo.liquid │ │ │ ├── _navbar.liquid │ │ │ ├── _scripts.liquid │ │ │ ├── _toc.liquid │ │ │ ├── affix.tmpl.partial │ │ │ ├── breadcrumb.tmpl.partial │ │ │ ├── class.header.tmpl.partial │ │ │ ├── class.tmpl.partial │ │ │ ├── classSubtitle.tmpl.partial │ │ │ ├── customMREFContent.tmpl.partial │ │ │ ├── dd-li.tmpl.partial │ │ │ ├── enum.tmpl.partial │ │ │ ├── footer.tmpl.partial │ │ │ ├── head.tmpl.partial │ │ │ ├── li.tmpl.partial │ │ │ ├── logo.tmpl.partial │ │ │ ├── namespace.tmpl.partial │ │ │ ├── namespaceSubtitle.tmpl.partial │ │ │ ├── navbar.tmpl.partial │ │ │ ├── rest.child.tmpl.partial │ │ │ ├── rest.tmpl.partial │ │ │ ├── scripts.tmpl.partial │ │ │ ├── searchResults.tmpl.partial │ │ │ ├── title.tmpl.partial │ │ │ ├── toc.tmpl.partial │ │ │ └── uref │ │ │ │ ├── class.header.tmpl.partial │ │ │ │ ├── class.tmpl.partial │ │ │ │ ├── enum.tmpl.partial │ │ │ │ ├── inheritance.tmpl.partial │ │ │ │ ├── namespace.tmpl.partial │ │ │ │ └── parameters.tmpl.partial │ │ ├── search-stopwords.json │ │ ├── styles │ │ │ ├── docfx.css │ │ │ ├── docfx.js │ │ │ ├── docfx.vendor.css │ │ │ ├── docfx.vendor.js │ │ │ ├── lunr.js │ │ │ ├── lunr.min.js │ │ │ ├── main.css │ │ │ ├── main.js │ │ │ └── search-worker.js │ │ ├── toc.extension.js │ │ ├── toc.html.js │ │ ├── toc.html.tmpl │ │ └── token.json │ └── material │ │ ├── partials │ │ └── head.tmpl.partial │ │ └── styles │ │ └── main.css └── toc.yml ├── favicon.ico ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff └── glyphicons-halflings-regular.woff2 ├── index.html ├── logo.svg ├── manifest.json ├── search-stopwords.json ├── styles ├── docfx.css ├── docfx.js ├── docfx.vendor.css ├── docfx.vendor.js ├── lunr.js ├── lunr.min.js ├── main.css ├── main.js └── search-worker.js ├── toc.html ├── update_doc.sh └── xrefmap.yml /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Publish Package 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | split-upm: 8 | name: split upm branch (force) 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | with: 13 | fetch-depth: 0 14 | - name: split upm branch 15 | run: | 16 | git branch -d upm &> /dev/null || echo upm branch not found 17 | mkdir -p 'Samples~' 18 | git mv Assets/Examples 'Samples~/Examples' 19 | git subtree split -P "$PKG_ROOT" -b upm 20 | git checkout upm 21 | 22 | git config --global 'user.name' 'github-bot' 23 | git config --global 'user.email' 'github-bot@users.noreply.github.com' 24 | git add 'Samples~' 'Editor' 'Editor.meta' 'Runtime' 'Runtime.meta' 'package.json' 'package.json.meta' 25 | git commit -m "Publish new package" 26 | 27 | git push -f -u origin upm 28 | env: 29 | PKG_ROOT: Assets/com.alelievr.NodeGraphProcessor/ 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /[Ll]ogs/ 7 | /Assets/AssetStoreTools* 8 | 9 | # Visual Studio 2015 cache directory 10 | /.vs/ 11 | 12 | # Autogenerated VS/MD/Consulo solution and project files 13 | ExportedObj/ 14 | .consulo/ 15 | *.csproj 16 | *.unityproj 17 | *.sln 18 | *.suo 19 | *.tmp 20 | *.user 21 | *.userprefs 22 | *.pidb 23 | *.booproj 24 | *.svd 25 | *.pdb 26 | 27 | # Unity3D generated meta files 28 | *.pidb.meta 29 | 30 | # Unity3D Generated File On Crash Reports 31 | sysinfo.txt 32 | 33 | # Builds 34 | *.apk 35 | *.unitypackage 36 | 37 | # Osx finder cache files 38 | .DS_Store 39 | .idea/ 40 | UserSettings 41 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/.gitmodules -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Unity Editor", 9 | "type": "unity", 10 | "request": "launch" 11 | }, 12 | { 13 | "name": "Windows Player", 14 | "type": "unity", 15 | "request": "launch" 16 | }, 17 | { 18 | "name": "OSX Player", 19 | "type": "unity", 20 | "request": "launch" 21 | }, 22 | { 23 | "name": "Linux Player", 24 | "type": "unity", 25 | "request": "launch" 26 | }, 27 | { 28 | "name": "iOS Player", 29 | "type": "unity", 30 | "request": "launch" 31 | }, 32 | { 33 | "name": "Android Player", 34 | "type": "unity", 35 | "request": "launch" 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Assets/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f54b0c2998e541e1ad0e9e0199121d2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/BasicExample.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f9b7374b0b0bf447b7a1be8333f2bbd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f1decc1c3e014bf7933055fcb120a53 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bac96e8936f65409d9c20e38cdc669d5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/Comparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac86b8505cd62554aacf661011580bd3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/ConditionalLink.cs: -------------------------------------------------------------------------------- 1 | namespace NodeGraphProcessor.Examples 2 | { 3 | public struct ConditionalLink {} 4 | } 5 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/ConditionalLink.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca96e4e0a749207478dfd7a00b1be0be 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/ConditionalNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e25d20612d9525e44ade2ce91a226c18 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/ConditionalProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31033d6ea3e9c4172b7a723eb5ae5d46 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0efae76c43e94793ab9a0af85ea06cb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/Editor/ComparisonView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f920bba99a58830478e86d03b78ce2c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/Editor/ConditionalProcessorView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31b0e74b27284433a9da4bc819fb1d4b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/IConditionalNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Reflection; 3 | 4 | namespace NodeGraphProcessor.Examples 5 | { 6 | interface IConditionalNode 7 | { 8 | IEnumerable< ConditionalNode > GetExecutedNodes(); 9 | 10 | FieldInfo[] GetNodeFields(); // Provide a custom order for fields (so conditional links are always at the top of the node) 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/IConditionalNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c608667ef0ec587439f321a248f54fa7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/StartNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Reflection; 4 | using GraphProcessor; 5 | 6 | namespace NodeGraphProcessor.Examples 7 | { 8 | [System.Serializable, NodeMenuItem("Conditional/Start")] 9 | public class StartNode : BaseNode, IConditionalNode 10 | { 11 | [Output(name = "Executes")] 12 | public ConditionalLink executes; 13 | 14 | public override string name => "Start"; 15 | 16 | public IEnumerable< ConditionalNode > GetExecutedNodes() 17 | { 18 | // Return all the nodes connected to the executes port 19 | return GetOutputNodes().Where(n => n is ConditionalNode).Select(n => n as ConditionalNode); 20 | } 21 | 22 | public override FieldInfo[] GetNodeFields() => base.GetNodeFields(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/ConditionalGraph/StartNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 193a96f2c31f1bd47b23038dd18b4acf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/CustomConvertions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | using System; 4 | using NodeGraphProcessor.Examples; 5 | using System.Collections.Generic; 6 | 7 | public class CustomConvertions : ITypeAdapter 8 | { 9 | public static Vector4 ConvertFloatToVector4(float from) => new Vector4(from, from, from, from); 10 | public static float ConvertVector4ToFloat(Vector4 from) => from.x; 11 | 12 | public override IEnumerable<(Type, Type)> GetIncompatibleTypes() 13 | { 14 | yield return (typeof(ConditionalLink), typeof(object)); 15 | yield return (typeof(RelayNode.PackedRelayData), typeof(object)); 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Examples/CustomConvertions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f174be70f9088b44a128f25b31295b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/CustomOutputExample.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f121bfc73353340e3aa4e44d933152ae 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/CustomPushExample.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81499d43bd7dc4abcb46c5fdb4a10fd9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/CycleTest.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a40fbb06726694545a440bad13f6df76 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe053685a907443e6aa299beef97563b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08f62c755ef8a43fa883ea32ceb7b3fc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/AbstractNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(AbstractNode))] 11 | public class AbstractNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | controlsContainer.Add(new Label("Inheritance support")); 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/AbstractNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5040c6010e3241cba06b89c4de15be7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/CircleRadiansView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35d320a3e0c6749839bc92fabb55768f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/ColorNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(ColorNode))] 11 | public class ColorNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | AddControlField(nameof(ColorNode.color)); 16 | style.width = 200; 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/ColorNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba96e582d53a869468d5e8881a783e55 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/FloatNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(FloatNode))] 11 | public class FloatNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var floatNode = nodeTarget as FloatNode; 16 | 17 | DoubleField floatField = new DoubleField 18 | { 19 | value = floatNode.input 20 | }; 21 | 22 | floatNode.onProcessed += () => floatField.value = floatNode.input; 23 | 24 | floatField.RegisterValueChangedCallback((v) => { 25 | owner.RegisterCompleteObjectUndo("Updated floatNode input"); 26 | floatNode.input = (float)v.newValue; 27 | }); 28 | 29 | controlsContainer.Add(floatField); 30 | } 31 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/FloatNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a2ee3f5258884d02935ff31a42dba2f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/ForLoopNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(ForLoopNode))] 11 | public class ForLoopNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var node = nodeTarget as ForLoopNode; 16 | 17 | DrawDefaultInspector(); 18 | 19 | // Create your fields using node's variables and add them to the controlsContainer 20 | 21 | // controlsContainer.Add(new Label("Hello World !")); 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/ForLoopNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d17dbae120ee4783b9a84f47c83650a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/IfNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(IfNode))] 11 | public class IfNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | hasSettings = true; // or base.Enable(); 16 | var node = nodeTarget as IfNode; 17 | 18 | // Create your fields using node's variables and add them to the controlsContainer 19 | 20 | controlsContainer.Add(new Label($"Last Evaluation: {node.condition}")); 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/IfNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ec8171831c774a6f86a48770b6d41db 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/MessageNode2View.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using UnityEngine.UIElements; 4 | using GraphProcessor; 5 | 6 | [NodeCustomEditor(typeof(MessageNode2))] 7 | public class MessageNode2View : BaseNodeView 8 | { 9 | public override void Enable() 10 | { 11 | var node = nodeTarget as MessageNode2; 12 | 13 | var icon = EditorGUIUtility.IconContent("UnityLogo").image; 14 | AddMessageView("Custom message !", icon, Color.green); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/MessageNode2View.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a31006d1dfdd4fde9898f3cba55753d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/MutliAddNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(MultiAddNode))] 11 | public class MultiAddNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var floatNode = nodeTarget as MultiAddNode; 16 | 17 | DoubleField floatField = new DoubleField 18 | { 19 | value = floatNode.output 20 | }; 21 | 22 | // Update the UI value after each processing 23 | nodeTarget.onProcessed += () => floatField.value = floatNode.output; 24 | 25 | controlsContainer.Add(floatField); 26 | } 27 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/MutliAddNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9fcd589847f64903956d798dd7964b2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/PrefabNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ce57a2bc202d6f4d885f0ccb09e7509 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/PrintNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9e1074a8cf6a45b9a81a1532f724e85 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/SettingsNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(SettingsNode))] 11 | public class SettingsNodeView : BaseNodeView 12 | { 13 | protected override bool hasSettings => true; 14 | 15 | SettingsNode settingsNode; 16 | 17 | public override void Enable() 18 | { 19 | settingsNode = nodeTarget as SettingsNode; 20 | 21 | controlsContainer.Add(new Label("Hello World !")); 22 | } 23 | 24 | protected override VisualElement CreateSettingsView() 25 | { 26 | var settings = new VisualElement(); 27 | 28 | settings.Add(new EnumField("S", settingsNode.setting)); 29 | 30 | return settings; 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/SettingsNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80ad8e267b8df4dbabab1260191e0b90 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/StringNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | using System.Linq; 10 | 11 | [NodeCustomEditor(typeof(StringNode))] 12 | public class StringNodeView : BaseNodeView 13 | { 14 | public override void Enable() 15 | { 16 | var node = nodeTarget as StringNode; 17 | 18 | var textArea = new TextField(-1, true, false, '*') { value = node.output }; 19 | textArea.Children().First().style.unityTextAlign = TextAnchor.UpperLeft; 20 | textArea.style.width = 200; 21 | textArea.style.height = 100; 22 | textArea.RegisterValueChangedCallback(v => { 23 | owner.RegisterCompleteObjectUndo("Edit string node"); 24 | node.output = v.newValue; 25 | }); 26 | controlsContainer.Add(textArea); 27 | } 28 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/StringNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9637299bbf273148b4973d91ea78b8d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/SwitchNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(SwitchNode))] 11 | public class SwitchNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var node = nodeTarget as SwitchNode; 16 | 17 | // Create your fields using node's variables and add them to the controlsContainer 18 | 19 | controlsContainer.Add(new Label("Hello World !")); 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/SwitchNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b95fe255b658e4fabad3781aa45b911d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/TypeSwitchNodeView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(TypeSwitchNode))] 11 | public class TypeSwitchNodeView : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var node = nodeTarget as TypeSwitchNode; 16 | 17 | var t = new Toggle("Swith type"){ value = node.toggleType }; 18 | t.RegisterValueChangedCallback(e => { 19 | node.toggleType = e.newValue; 20 | ForceUpdatePorts(); 21 | }); 22 | 23 | controlsContainer.Add(t); 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Editor/TypeSwitchNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 603b82ae431dc47d7b5b43b01bf2f81b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eae15027ad2084276abd79f2ae730e2d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/AbstractNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | public abstract class AbstractNode : BaseNode 8 | { 9 | [Input(name = "In")] 10 | public float input; 11 | 12 | [Output(name = "Out")] 13 | public float output; 14 | 15 | public override string name => "AbstractNode"; 16 | 17 | protected override void Process() 18 | { 19 | output = input * 42; 20 | } 21 | } 22 | 23 | [System.Serializable, NodeMenuItem("Custom/Abstract Child1")] 24 | public class AbstractNodeChild1 : AbstractNode {} 25 | [System.Serializable, NodeMenuItem("Custom/Abstract Child2")] 26 | public class AbstractNodeChild2 : AbstractNode {} 27 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/AbstractNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbff08c82fa844a6eb6beb5112eca9b5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/CircleRadians.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/CircleRadians")] 8 | public class CircleRadians : BaseNode 9 | { 10 | [Output(name = "In")] 11 | public List< float > outputRadians; 12 | 13 | public override string name => "CircleRadians"; 14 | 15 | [CustomPortOutput(nameof(outputRadians), typeof(float))] 16 | public void PushOutputRadians(List< SerializableEdge > connectedEdges) 17 | { 18 | int i = 0; 19 | 20 | // outputRadians should match connectedEdges length, the list is generated by the editor function 21 | 22 | foreach (var edge in connectedEdges) 23 | { 24 | edge.passThroughBuffer = outputRadians[i]; 25 | i++; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/CircleRadians.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd15c1a0ea62a4842b95b69e4ef10c46 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ColorNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Primitives/Color")] 8 | public class ColorNode : BaseNode 9 | { 10 | [Output(name = "Color"), SerializeField] 11 | new public Color color; 12 | 13 | public override string name => "Color"; 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ColorNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e75b35f7e80942a4798859500c4acc1e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ConsoleLogNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using GraphProcessor; 3 | using UnityEngine; 4 | 5 | namespace NodeGraphProcessor.Examples 6 | { 7 | [Serializable, NodeMenuItem("Debug/Console Log")] 8 | public class ConsoleNode : LinearConditionalNode 9 | { 10 | public override string name => "Console Log"; 11 | 12 | [Input("Object")] 13 | public object obj; 14 | 15 | [Input("Log"), SerializeField, Tooltip("If Object is null, this will be the log.")] 16 | public string logText = "Log"; 17 | 18 | [Setting("Log Type")] 19 | public LogType logType = LogType.Log; 20 | 21 | protected override void Process() 22 | { 23 | switch(logType) 24 | { 25 | case LogType.Error: 26 | case LogType.Exception: 27 | Debug.LogError(obj != null ? obj.ToString() : logText); 28 | break; 29 | case LogType.Assert: 30 | Debug.LogAssertion(obj != null ? obj.ToString() : logText); 31 | break; 32 | case LogType.Warning: 33 | Debug.LogWarning(obj != null ? obj.ToString() : logText); 34 | break; 35 | case LogType.Log: 36 | Debug.Log(obj != null ? obj.ToString() : logText); 37 | break; 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ConsoleLogNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80ef7fcc16714c12a145912aa1d94570 3 | timeCreated: 1612049055 -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/CustomPortDataNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3ee5b148eb864473a90c7c049735847 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/CustomPortsNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ee521d13536a5342a380b0ecaccd449 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/DrawerFieldTestNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8457727508941c4e83beea336d88c8f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/FieldTestNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/FieldTestNode")] 8 | public class FieldTestNode : BaseNode 9 | { 10 | public string s; 11 | public int i; 12 | public float f; 13 | public Vector2 v2; 14 | public Vector3 v3; 15 | public Vector4 v4; 16 | public LayerMask layer; 17 | new public Color color; 18 | public Bounds bounds; 19 | public Rect rect; 20 | public CameraClearFlags flags = CameraClearFlags.Color; 21 | public bool toggle; 22 | public Gradient gradient; 23 | public AnimationCurve curve; 24 | 25 | public override string name => "FieldTestNode"; 26 | 27 | protected override void Process() { } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/FieldTestNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d875a69e73b603a41b9310428f7a9f58 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/FloatNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | 6 | [System.Serializable, NodeMenuItem("Primitives/Float")] 7 | public class FloatNode : BaseNode 8 | { 9 | [Output("Out")] 10 | public float output; 11 | 12 | [Input("In")] 13 | public float input; 14 | 15 | public override string name => "Float"; 16 | 17 | protected override void Process() => output = input; 18 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/FloatNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8942e9813216b4913a43fd7813feb4ab 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ForLoopNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2221fb196ab424d108d0cf55371421fa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/GameObjectNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/Game Object")] 8 | public class GameObjectNode : BaseNode, ICreateNodeFrom 9 | { 10 | [Output(name = "Out"), SerializeField] 11 | public GameObject output; 12 | 13 | public override string name => "Game Object"; 14 | 15 | public bool InitializeNodeFromObject(GameObject value) 16 | { 17 | output = value; 18 | return true; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/GameObjectNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21825c1cbd5c389408e9683a31f01e34 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/IfNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | using NodeGraphProcessor.Examples; 7 | using UnityEngine.Rendering; 8 | 9 | [System.Serializable, NodeMenuItem("Conditional/If"), NodeMenuItem("Conditional/Branch")] 10 | public class IfNode : ConditionalNode 11 | { 12 | [Input(name = "Condition")] 13 | public bool condition; 14 | 15 | [Output(name = "True")] 16 | public ConditionalLink @true; 17 | [Output(name = "False")] 18 | public ConditionalLink @false; 19 | 20 | [Setting("Compare Function")] 21 | public CompareFunction compareOperator; 22 | 23 | public override string name => "If"; 24 | 25 | public override IEnumerable< ConditionalNode > GetExecutedNodes() 26 | { 27 | string fieldName = condition ? nameof(@true) : nameof(@false); 28 | 29 | // Return all the nodes connected to either the true or false node 30 | return outputPorts.FirstOrDefault(n => n.fieldName == fieldName) 31 | .GetEdges().Select(e => e.inputNode as ConditionalNode); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/IfNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67b84b0505d8b4601b255a36813ef98f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/Inheritance1.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/Inheritance1")] 8 | public class Inheritance1 :InheritanceBase 9 | { 10 | [Input(name = "In 1")] 11 | public float input1; 12 | 13 | [Output(name = "Out 1")] 14 | public float output1; 15 | 16 | public float field1; 17 | 18 | public override string name => "Inheritance1"; 19 | 20 | protected override void Process() 21 | { 22 | output = input * 42; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/Inheritance1.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15648eec84a850444a88c7bc3eac314a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/Inheritance2.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/Inheritance2")] 8 | public class Inheritance2 : Inheritance1 9 | { 10 | [Input(name = "In 2")] 11 | public float input2; 12 | 13 | [Output(name = "Out 2")] 14 | public float output2; 15 | 16 | public float field2; 17 | 18 | public override string name => "Inheritance2"; 19 | 20 | protected override void Process() 21 | { 22 | output = input * 42; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/Inheritance2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9069a90bc916604788464a08f6b619d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/InheritanceBase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/InheritanceBase")] 8 | public class InheritanceBase : BaseNode 9 | { 10 | [Input(name = "In Base")] 11 | public float input; 12 | 13 | [Output(name = "Out Base")] 14 | public float output; 15 | 16 | public float fieldBase; 17 | 18 | public override string name => "InheritanceBase"; 19 | 20 | protected override void Process() 21 | { 22 | output = input * 42; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/InheritanceBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23a4534ff64579e48a4f3375cc9d6086 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/InspectorNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/InspectorNode")] 8 | public class InspectorNode : BaseNode 9 | { 10 | [Input(name = "In")] 11 | public float input; 12 | 13 | [Output(name = "Out")] 14 | public float output; 15 | 16 | [ShowInInspector] 17 | public bool additionalSettings; 18 | [ShowInInspector] 19 | public string additionalParam; 20 | 21 | public override string name => "InspectorNode"; 22 | 23 | protected override void Process() 24 | { 25 | output = input * 42; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/InspectorNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aafb65d470cb8eb42b2e0a1834b054ba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ListNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/List")] 8 | public class ListNode : BaseNode 9 | { 10 | [Output(name = "Out")] 11 | public Vector4 output; 12 | 13 | [Input(name = "In"), SerializeField] 14 | public Vector4 input; 15 | 16 | public List objs = new List(); 17 | 18 | public override string name => "List"; 19 | 20 | protected override void Process() 21 | { 22 | output = input; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/ListNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca3503136d29e2245a44b7f6d64b5919 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MessageNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/MessageNode")] 8 | public class MessageNode : BaseNode 9 | { 10 | const string k_InputIsNot42Error = "Input is not 42 !"; 11 | 12 | [Input(name = "In")] 13 | public float input; 14 | 15 | public override string name => "MessageNode"; 16 | 17 | [Setting("Message Type")] 18 | public NodeMessageType messageType = NodeMessageType.Error; 19 | 20 | protected override void Process() 21 | { 22 | if (input != 42) 23 | AddMessage(k_InputIsNot42Error, messageType); 24 | else 25 | RemoveMessage(k_InputIsNot42Error); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MessageNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a6669722cfcd4703ade0bbf83bfc293 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MessageNode2.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/MessageNode2")] 8 | public class MessageNode2 : BaseNode 9 | { 10 | [Input(name = "In")] 11 | public float input; 12 | 13 | [Output(name = "Out")] 14 | public float output; 15 | 16 | public override string name => "MessageNode2"; 17 | 18 | protected override void Process() 19 | { 20 | output = input * 42; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MessageNode2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 765bd59297fa94851b8f52b8aacac30d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MultiAddNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/MultiAdd")] 8 | public class MultiAddNode : BaseNode 9 | { 10 | [Input] 11 | public IEnumerable< float > inputs = null; 12 | 13 | [Output] 14 | public float output; 15 | 16 | public override string name => "Add"; 17 | 18 | protected override void Process() 19 | { 20 | output = 0; 21 | 22 | if (inputs == null) 23 | return ; 24 | 25 | foreach (float input in inputs) 26 | output += input; 27 | } 28 | 29 | [CustomPortBehavior(nameof(inputs))] 30 | IEnumerable< PortData > GetPortsForInputs(List< SerializableEdge > edges) 31 | { 32 | yield return new PortData{ displayName = "In ", displayType = typeof(float), acceptMultipleEdges = true}; 33 | } 34 | 35 | [CustomPortInput(nameof(inputs), typeof(float), allowCast = true)] 36 | public void GetInputs(List< SerializableEdge > edges) 37 | { 38 | inputs = edges.Select(e => (float)e.passThroughBuffer); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/MultiAddNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bec45daf4ef0a6540acae81c07a9e407 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/OutputNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/OutputNode")] 8 | public class OutputNode : BaseNode 9 | { 10 | [Input(name = "In")] 11 | public float input; 12 | 13 | public override string name => "OutputNode"; 14 | 15 | public override bool deletable => false; 16 | 17 | protected override void Process() 18 | { 19 | // Do stuff 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/OutputNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37f7b74076a069944bcb6dcdd05a6717 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/PortConnectionTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a42150ac8861b464bb8f45a10ebd720e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/PrefabNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/Prefab")] 8 | public class PrefabNode : BaseNode 9 | { 10 | [Output(name = "Out"), SerializeField] 11 | public GameObject output; 12 | 13 | public override string name => "Prefab"; 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/PrefabNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3496a34fa340d48b38cc40384653a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/PrintNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using NodeGraphProcessor.Examples; 6 | 7 | [NodeMenuItem("Print")] 8 | public class PrintNode : BaseNode 9 | { 10 | [Input] 11 | public object obj; 12 | 13 | public override string name => "Print"; 14 | } 15 | 16 | [NodeMenuItem("Conditional/Print")] 17 | public class ConditionalPrintNode : LinearConditionalNode 18 | { 19 | [Input] 20 | public object obj; 21 | 22 | public override string name => "Print"; 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/PrintNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43baed6305c3d446b947ecda1afd75e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/RenamableNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | 4 | [System.Serializable, NodeMenuItem("Custom/Renamable")] 5 | public class RenamableNode : BaseNode 6 | { 7 | [Output("Out")] 8 | public float output; 9 | 10 | [Input("In")] 11 | public float input; 12 | 13 | public override string name => "Renamable"; 14 | 15 | public override bool isRenamable => true; 16 | 17 | protected override void Process() => output = input; 18 | } -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/RenamableNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e52fec51547fb8946b6df006e08fd6b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SettingsNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | public enum Setting 8 | { 9 | S1, 10 | S2, 11 | S3, 12 | } 13 | 14 | [System.Serializable, NodeMenuItem("Custom/SettingsNode")] 15 | public class SettingsNode : BaseNode 16 | { 17 | public Setting setting; 18 | public override string name => "SettingsNode"; 19 | 20 | [Input] 21 | public float input; 22 | 23 | [Output] 24 | public float output; 25 | 26 | protected override void Process() {} 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SettingsNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 732287f12cf324faa88fd49fcf5a1fec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/StringNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("String")] 8 | public class StringNode : BaseNode 9 | { 10 | [Output(name = "Out"), SerializeField] 11 | public string output; 12 | 13 | public override string name => "String"; 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/StringNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90d84412e61f5044b863d9f9902bb4f9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SubNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Operations/Sub")] 8 | public class SubNode : BaseNode 9 | { 10 | [Input(name = "A")] 11 | public float inputA; 12 | [Input(name = "B")] 13 | public float inputB; 14 | 15 | [Output(name = "Out")] 16 | public float output; 17 | 18 | public override string name => "Sub"; 19 | 20 | protected override void Process() 21 | { 22 | output = inputA - inputB; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SubNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b91fd44c35c00b4ab19dab518b97b31 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SwitchNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Conditional/Switch")] 8 | public class SwitchNode : BaseNode 9 | { 10 | [Input(name = "In")] 11 | public float input; 12 | 13 | [Output(name = "Out")] 14 | public float output; 15 | 16 | public override string name => "Switch"; 17 | 18 | protected override void Process() 19 | { 20 | output = input * 42; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/SwitchNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 551af9ac8c6de4d0c94159f5febdd117 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/TextNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Primitives/Text")] 8 | public class TextNode : BaseNode 9 | { 10 | [Output(name = "Label"), SerializeField] 11 | public string output; 12 | 13 | public override string name => "Text"; 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/TextNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84037e06aa70841d1a1ad2f8dcdd33da 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/TypeSwitchNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/TypeSwitchNode")] 8 | public class TypeSwitchNode : BaseNode 9 | { 10 | [Input] 11 | public string input; 12 | 13 | [SerializeField] 14 | public bool toggleType; 15 | 16 | public override string name => "TypeSwitchNode"; 17 | 18 | [CustomPortBehavior(nameof(input))] 19 | IEnumerable< PortData > GetInputPort(List< SerializableEdge > edges) 20 | { 21 | yield return new PortData{ 22 | identifier = "input", 23 | displayName = "In", 24 | displayType = (toggleType) ? typeof(float) : typeof(string) 25 | }; 26 | } 27 | 28 | protected override void Process() 29 | { 30 | Debug.Log("Input: " + input); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/TypeSwitchNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 254a5aace9e6c4d2d8ee9810660f08c8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/UnityEventNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | using UnityEngine.Events; 4 | 5 | [System.Serializable, NodeMenuItem("Custom/Unity Event Node")] 6 | public class UnityEventNode : BaseNode 7 | { 8 | [Input(name = "In")] 9 | public float input; 10 | 11 | [Output(name = "Out")] 12 | public float output; 13 | 14 | public UnityEvent evt; 15 | 16 | public override string name => "Unity Event Node"; 17 | 18 | protected override void Process() 19 | { 20 | output = input * 42; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/UnityEventNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 327b45992d9476f4b8589c21c1cfce8e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VectorNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/Vector")] 8 | public class VectorNode : BaseNode 9 | { 10 | [Output(name = "Out")] 11 | public Vector4 output; 12 | 13 | [Input(name = "In"), SerializeField] 14 | public Vector4 input; 15 | 16 | public override string name => "Vector"; 17 | 18 | protected override void Process() 19 | { 20 | output = input; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VectorNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00b0569f94451af4b9bc9382e2383772 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VerticalNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | 4 | [System.Serializable, NodeMenuItem("Custom/Vertical")] 5 | public class VerticalNode : BaseNode 6 | { 7 | [Input, Vertical] 8 | public float input; 9 | 10 | [Output, Vertical] 11 | public float output; 12 | [Output, Vertical] 13 | public float output2; 14 | [Output, Vertical] 15 | public float output3; 16 | 17 | public override string name => "Vertical"; 18 | 19 | protected override void Process() 20 | { 21 | output = input * 42; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VerticalNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a3f5dfcff11f75439e38edb7a033f63 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VerticalNode2.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | 4 | [System.Serializable, NodeMenuItem("Custom/Vertical 2")] 5 | public class VerticalNode2 : BaseNode 6 | { 7 | [Input, Vertical] 8 | public float input; 9 | 10 | [Input] 11 | public float input2; 12 | 13 | [Output, Vertical] 14 | public float output; 15 | 16 | [Output] 17 | public float output2; 18 | 19 | public override string name => "Vertical 2"; 20 | 21 | protected override void Process() 22 | { 23 | output = input * 42; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VerticalNode2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71e9d4782f23e9a44b0dbc7cceadf083 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VisibleIfAttributeNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/VisibleIfAttributeNode")] 8 | public class VisibleIfAttributeNode : BaseNode 9 | { 10 | public enum Test1 11 | { 12 | A, 13 | B, 14 | C, 15 | D 16 | } 17 | 18 | public enum Test2 19 | { 20 | T1, 21 | T2, 22 | T3, 23 | } 24 | 25 | public Test1 t1; 26 | 27 | [VisibleIf(nameof(t1), Test1.A)] 28 | public float f1; 29 | [VisibleIf(nameof(t1), Test1.B)] 30 | public int f2; 31 | 32 | [VisibleIf(nameof(t1), Test1.C)] 33 | public string s1; 34 | [VisibleIf(nameof(t1), Test1.C)] 35 | public Test2 t2; 36 | 37 | [Input(name = "In")] 38 | public float input; 39 | 40 | [Output(name = "Out")] 41 | public float output; 42 | 43 | public override string name => "VisibleIfAttributeNode"; 44 | 45 | protected override void Process() 46 | { 47 | output = input * 42; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/VisibleIfAttributeNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e13a5352166fe4244b54a60e88169188 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/WaitFrameNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d590dc5df3ef4caa94ebdec8dd736112 3 | timeCreated: 1612047298 -------------------------------------------------------------------------------- /Assets/Examples/DefaultNodes/Nodes/WaitNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a88be2e1f341480b8ec6ccf9564deed2 3 | timeCreated: 1612047263 -------------------------------------------------------------------------------- /Assets/Examples/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c01c58d7cb2e4c19ba931122476ced7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/01_DefaultGraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fdefec7d0fa1f47b3bf3207b0fcda8c2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/01_DefaultGraph/DefaultGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c65b242325f19471bab1de2499506787 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/02_CustomContextMenu.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccd6349c240ef49d19d304846d0c4285 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/02_CustomContextMenu/CustomContextMenuGraphView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEditor.Experimental.GraphView; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System; 6 | using UnityEditor; 7 | 8 | public class CustomContextMenuGraphView : BaseGraphView 9 | { 10 | public CustomContextMenuGraphView(EditorWindow window) : base(window) {} 11 | 12 | public override void BuildContextualMenu(ContextualMenuPopulateEvent evt) 13 | { 14 | evt.menu.AppendSeparator(); 15 | 16 | foreach (var nodeMenuItem in NodeProvider.GetNodeMenuEntries()) 17 | { 18 | var mousePos = (evt.currentTarget as VisualElement).ChangeCoordinatesTo(contentViewContainer, evt.localMousePosition); 19 | Vector2 nodePosition = mousePos; 20 | evt.menu.AppendAction("Create/" + nodeMenuItem.path, 21 | (e) => CreateNodeOfType(nodeMenuItem.type, nodePosition), 22 | DropdownMenuAction.AlwaysEnabled 23 | ); 24 | } 25 | 26 | base.BuildContextualMenu(evt); 27 | } 28 | 29 | void CreateNodeOfType(Type type, Vector2 position) 30 | { 31 | RegisterCompleteObjectUndo("Added " + type + " node"); 32 | AddNode(BaseNode.CreateFromType(type, position)); 33 | } 34 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/02_CustomContextMenu/CustomContextMenuGraphView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e25daef2a39d42b58315f7b8f67f7b0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/02_CustomContextMenu/CustomContextMenuGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43e3efcb45094430784d7f28008023c6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b473662a061684b43b0dda6f61d46106 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar/CustomToolbarGraphView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEditor.Experimental.GraphView; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System; 6 | using UnityEditor; 7 | 8 | public class CustomToolbarGraphView : BaseGraphView 9 | { 10 | public CustomToolbarGraphView(EditorWindow window) : base(window) {} 11 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar/CustomToolbarGraphView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19135bc1f3e484d9c9f7e5547e6eac8c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar/CustomToolbarGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f55628757287a48558b75b0291a9bce1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar/CustomToolbarView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using GraphProcessor; 6 | using Status = UnityEngine.UIElements.DropdownMenuAction.Status; 7 | 8 | public class CustomToolbarView : ToolbarView 9 | { 10 | public CustomToolbarView(BaseGraphView graphView) : base(graphView) {} 11 | 12 | protected override void AddButtons() 13 | { 14 | // Add the hello world button on the left of the toolbar 15 | AddButton("Hello !", () => Debug.Log("Hello World"), left: false); 16 | 17 | // add the default buttons (center, show processor and show in project) 18 | base.AddButtons(); 19 | 20 | bool conditionalProcessorVisible = graphView.GetPinnedElementStatus< ConditionalProcessorView >() != Status.Hidden; 21 | AddToggle("Show Conditional Processor", conditionalProcessorVisible, (v) => graphView.ToggleView< ConditionalProcessorView>()); 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/03_CustomToolbar/CustomToolbarView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 937d1aed5c2b341d589c00aa858bfcc1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 288b95e5545a64fe4aaead1299ceefed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties/ExposedPropertiesGraph.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using UnityEngine; 5 | using GraphProcessor; 6 | 7 | public class ExposedPropertiesGraph : BaseGraph 8 | { 9 | 10 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties/ExposedPropertiesGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3d516d4aa91e407da5829468042e3fa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties/ExposedPropertiesGraphView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEditor.Experimental.GraphView; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System; 6 | using UnityEditor; 7 | 8 | public class ExposedPropertiesGraphView : BaseGraphView 9 | { 10 | public ExposedPropertiesGraphView(EditorWindow window) : base(window) {} 11 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties/ExposedPropertiesGraphView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56ac32d5514c04f88915ac1e57856af1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/04_ExposedProperties/ExposedPropertiesGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e88d560560654411954f0b6f223900f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/05_All.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9922e83e8d3042d6a11524bc5db4c6d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/05_All/AllGraphView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEditor.Experimental.GraphView; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System; 6 | using UnityEditor; 7 | 8 | public class AllGraphView : BaseGraphView 9 | { 10 | // Nothing special to add for now 11 | public AllGraphView(EditorWindow window) : base(window) {} 12 | 13 | public override void BuildContextualMenu(ContextualMenuPopulateEvent evt) 14 | { 15 | BuildStackNodeContextualMenu(evt); 16 | base.BuildContextualMenu(evt); 17 | } 18 | 19 | /// 20 | /// Add the New Stack entry to the context menu 21 | /// 22 | /// 23 | protected void BuildStackNodeContextualMenu(ContextualMenuPopulateEvent evt) 24 | { 25 | Vector2 position = (evt.currentTarget as VisualElement).ChangeCoordinatesTo(contentViewContainer, evt.localMousePosition); 26 | evt.menu.AppendAction("New Stack", (e) => AddStackNode(new BaseStackNode(position)), DropdownMenuAction.AlwaysEnabled); 27 | } 28 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/05_All/AllGraphView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04efa91cf6aca4e4eb1d937c9b782f4b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/05_All/AllGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99b7a449feb3b49dbb84c76e09c4f4a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphAssetCallbacks.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using GraphProcessor; 6 | using UnityEditor.Callbacks; 7 | using System.IO; 8 | 9 | public class GraphAssetCallbacks 10 | { 11 | [MenuItem("Assets/Create/GraphProcessor", false, 10)] 12 | public static void CreateGraphPorcessor() 13 | { 14 | var graph = ScriptableObject.CreateInstance< BaseGraph >(); 15 | ProjectWindowUtil.CreateAsset(graph, "GraphProcessor.asset"); 16 | } 17 | 18 | [OnOpenAsset(0)] 19 | public static bool OnBaseGraphOpened(int instanceID, int line) 20 | { 21 | var asset = EditorUtility.InstanceIDToObject(instanceID) as BaseGraph; 22 | 23 | if (asset != null && AssetDatabase.GetAssetPath(asset).Contains("Examples")) 24 | { 25 | EditorWindow.GetWindow().InitializeGraph(asset as BaseGraph); 26 | return true; 27 | } 28 | return false; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphAssetCallbacks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e454f0d7a8d64cffabeb995f0db6e3d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphAssetInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cfa27158ce3d4b8a9546f410239ecfd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphBehaviourEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UIElements; 4 | 5 | [CustomEditor(typeof(GraphBehaviour))] 6 | public class GraphBehaviourEditor : Editor 7 | { 8 | Editor graphEditor; 9 | GraphBehaviour behaviour => target as GraphBehaviour; 10 | 11 | void OnEnable() 12 | { 13 | graphEditor = Editor.CreateEditor(behaviour.graph); 14 | } 15 | 16 | void OnDisable() 17 | { 18 | DestroyImmediate(graphEditor); 19 | } 20 | 21 | public override VisualElement CreateInspectorGUI() 22 | { 23 | var root = new VisualElement(); 24 | var graphContainer = graphEditor != null ? graphEditor.CreateInspectorGUI().Q("ExposedParameters") : null; 25 | 26 | root.Add(new Button(() => EditorWindow.GetWindow().InitializeGraph(behaviour.graph)) 27 | { 28 | text = "Open" 29 | }); 30 | 31 | root.Add(graphContainer); 32 | 33 | return root; 34 | } 35 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphBehaviourEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbd558a7222fa954883e10ca50397892 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphProcessorMenuItems.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using GraphProcessor; 3 | 4 | public class GraphProcessorMenuItems : NodeGraphProcessorMenuItems 5 | { 6 | [MenuItem("Assets/Create/Node C# Script", false, MenuItemPosition.afterCreateScript)] 7 | private static void CreateNodeCSharpScritpt() => CreateDefaultNodeCSharpScritpt(); 8 | 9 | [MenuItem("Assets/Create/Node View C# Script", false, MenuItemPosition.afterCreateScript + 1)] 10 | private static void CreateNodeViewCSharpScritpt() => CreateDefaultNodeViewCSharpScritpt(); 11 | 12 | // To add your C# script creation with you own templates, use ProjectWindowUtil.CreateScriptAssetFromTemplateFile(templatePath, defaultFileName) 13 | } -------------------------------------------------------------------------------- /Assets/Examples/Editor/GraphProcessorMenuItems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4af107f84c5444e618624c1e7516fc62 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/ExposedGetProperties.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fc1bcdc62a5745a1bd6f48f20e0390f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/ExposedPropertiesExample.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0717f60ed9d9a44a69be47fdb2044b74 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/GraphBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | 4 | [ExecuteAlways] 5 | public class GraphBehaviour : MonoBehaviour 6 | { 7 | public BaseGraph graph; 8 | 9 | protected virtual void OnEnable() 10 | { 11 | if (graph == null) 12 | graph = ScriptableObject.CreateInstance(); 13 | 14 | graph.LinkToScene(gameObject.scene); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Examples/GraphBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9864279eb8ab3ab4880349a3c8f3e6bb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/GraphProcessor.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cbbb36aeebd84f0a9c382c539919483 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Multi-Port.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5d608b3c298e4d07b05802356fcf46f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/MultiPort2.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bd02e8fc2f584722870fe641f03d8f6 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Performances.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 014a2eb1977448947904659f38ad6861 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Performances/BigComputeOrder.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 928ac805c9b54b54e83ee30e56b2afc1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Performances/LotsOfNode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f361fca66d80df043b07ae8839122c2f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Relay test.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32bb368cd5ab3a5489eaff718426b90d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/RelayTest.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0956871d8100bac45b259c69f84ace3f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58af6dcf261b243adaf2af078b6c92bf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Resources/Cube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f78111bdbdeaf6644806fc49fcaf1d30 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Resources/PortViewTypes.uss: -------------------------------------------------------------------------------- 1 | .Port_Single { 2 | --port-color: #2080FF; 3 | } 4 | 5 | .Port_Vector2 { 6 | --port-color: #2070FF; 7 | } 8 | 9 | .Port_Vector3 { 10 | --port-color: #2060FF; 11 | } 12 | 13 | .Port_Vector4 { 14 | --port-color: #2050FF; 15 | } 16 | 17 | .Port_Object { 18 | --port-color: #80FF00; 19 | } 20 | 21 | .Port_Color { 22 | --port-color: #FF00FF; 23 | } 24 | 25 | .Port_GameObject { 26 | --port-color: #FF0000; 27 | } 28 | 29 | .Port_String { 30 | --port-color: #80FF80; 31 | } 32 | 33 | .Port_Boolean { 34 | --port-color: #30FFFF; 35 | } 36 | 37 | .Port_ConditionalLink { 38 | --port-color: #FFFF30; 39 | } 40 | 41 | .Port_AnimationCurve{ 42 | --port-color: #FF0080; 43 | } 44 | 45 | .Port_Gradient{ 46 | --port-color: #FF8000; 47 | } 48 | -------------------------------------------------------------------------------- /Assets/Examples/Resources/PortViewTypes.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 850ed96f5a80f42689017b108fcd3295 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/Examples/Resources/TestType.uss: -------------------------------------------------------------------------------- 1 | #title { 2 | background-color: rgba(59, 94, 68, 0.8); 3 | } -------------------------------------------------------------------------------- /Assets/Examples/Resources/TestType.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b8544e277509f945b7a95d04bc07470 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f704ae4b4f98ae41a0bce26658850c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/Conditional Graph.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34b1e1a7b64e66649b2182f525e90d4b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/ConditionalGraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19ec75695e18e9d498780fa1b074dcac 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/ConditionalGraph/RuntimeConditionalGraph.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using GraphProcessor; 3 | using NodeGraphProcessor.Examples; 4 | 5 | public class RuntimeConditionalGraph : MonoBehaviour 6 | { 7 | [Header("Graph to Run on Start")] 8 | public BaseGraph graph; 9 | 10 | private ConditionalProcessor processor; 11 | 12 | private void Start() 13 | { 14 | if(graph != null) 15 | processor = new ConditionalProcessor(graph); 16 | 17 | processor.Run(); 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Examples/Scenes/ConditionalGraph/RuntimeConditionalGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 412c3d6849a64ff687f9971b4a7da12b 3 | timeCreated: 1612049543 -------------------------------------------------------------------------------- /Assets/Examples/Scenes/EmbeddedGraph.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed5391e944516114c8b378a19dacec74 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/RuntimeGraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10af4336199df1e4d83b53809cd6c472 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/RuntimeGraph.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99c9720ab356a0642a771bea13969a05 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/RuntimeGraph/RuntimeGraph.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | 6 | public class RuntimeGraph : MonoBehaviour 7 | { 8 | public BaseGraph graph; 9 | public ProcessGraphProcessor processor; 10 | 11 | public GameObject assignedGameObject; 12 | 13 | private void Start() 14 | { 15 | if (graph != null) 16 | processor = new ProcessGraphProcessor(graph); 17 | } 18 | 19 | int i = 0; 20 | 21 | void Update() 22 | { 23 | if (graph != null) 24 | { 25 | graph.SetParameterValue("Input", (float)i++); 26 | graph.SetParameterValue("GameObject", assignedGameObject); 27 | processor.Run(); 28 | Debug.Log("Output: " + graph.GetParameterValue("Output")); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/Examples/Scenes/RuntimeGraph/RuntimeGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5994383d36ae4177a6ff2f44e6fadec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Examples/Simple.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e639da6f40d0646e5b0d4a0646950e0c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Vertical.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a56a237fbc80b74e817c77687160963 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Examples/Wait-Test.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 014fc22dc9b8942eaae8dc3c28eb3215 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Gizmos.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 465689117756b46f8907013d67d63636 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Gizmos/GraphProcessor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cceb2773b90dc4aee89ae4798738a949 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Gizmos/GraphProcessor/BaseGraph Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/Gizmos/GraphProcessor/BaseGraph Icon.png -------------------------------------------------------------------------------- /Assets/Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b26d5fc6736b39d4ba6e5754b7dd12ac 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 051adeba9edfd4db4b0931bfe684fef4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 232f899daeba5461ebf015a1f96643b3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/BaseGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b4b18f42b137457bbc04f077fe5fd56 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Callbacks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63fdfc474ed0f4db7aa1432eaf667691 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Callbacks/NodeGraphProcessorMenuItems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1167d7feb04b4469adaa343846ab76a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Callbacks/OnBaseGraphDeleted.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | 4 | namespace GraphProcessor 5 | { 6 | [ExecuteAlways] 7 | public class DeleteCallback : UnityEditor.AssetModificationProcessor 8 | { 9 | static AssetDeleteResult OnWillDeleteAsset(string path, RemoveAssetOptions options) 10 | { 11 | var objects = AssetDatabase.LoadAllAssetsAtPath(path); 12 | 13 | foreach (var obj in objects) 14 | { 15 | if (obj is BaseGraph b) 16 | { 17 | foreach (var graphWindow in Resources.FindObjectsOfTypeAll< BaseGraphWindow >()) 18 | graphWindow.OnGraphDeleted(); 19 | 20 | b.OnAssetDeleted(); 21 | } 22 | } 23 | 24 | return AssetDeleteResult.DidNotDelete; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Callbacks/OnBaseGraphDeleted.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59cb170ad7b9d4c7394a1a7bfd6b11a1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/EditorAttributes.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System; 6 | 7 | namespace GraphProcessor 8 | { 9 | [AttributeUsage(AttributeTargets.Class)] 10 | public class NodeCustomEditor : Attribute 11 | { 12 | public Type nodeType; 13 | 14 | public NodeCustomEditor(Type nodeType) 15 | { 16 | this.nodeType = nodeType; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/EditorAttributes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c50a793169754f699b4987ff8e0733f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/GraphInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5afb378212c4444898716e86bef58f0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Logic.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae3080c0c3f0d42f38d4300d12b41091 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Logic/EdgeConnectorListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 594eed6e129424e83abd868b8d10d7a7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/NodeInspectorObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1de0d908d54790c46887e9bc16dd1c18 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 4be6c4ce25d64ad4a961723d50e7dc42, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a15334d6fa12046e5afcb22ac791a43d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorElements.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4131c3b8da764d71b906a6ab20ec67f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorElements/PinnedElement.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorElements/PinnedElement.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1b2aa444c6cc43cfb7733e69843f135 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6562f61ebe4c045d29fe4b1a3457379a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseGraphView.uss: -------------------------------------------------------------------------------- 1 | #graphRootView 2 | { 3 | background-color: #101010; 4 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseGraphView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2769cf0fb82ce4c2691edb49469f5f17 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseNodeView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7aed4ab0823d4432996ae4614575bc7c 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseStackNodeView.uss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseStackNodeView.uss -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseStackNodeView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e82320a8ee0b6a4aacdf90809f51e49 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/EdgeView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28f83445e912a4e25aa30a4f0cd22636 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/ExposedParameterView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1592461e6c084c64a5da575a952112b2 3 | timeCreated: 1573390243 -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/GroupView.uss: -------------------------------------------------------------------------------- 1 | #headerColorPicker { 2 | position: absolute; 3 | margin: 8px; 4 | width: 50px; 5 | } 6 | 7 | #titleContainer > #titleLabel, #titleContainer > #titleField { 8 | margin-left: 55px; 9 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/GroupView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1de357c1a591f54e973322441879dda 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/InspectorView.uss: -------------------------------------------------------------------------------- 1 | .NodeControls 2 | { 3 | border-width: 1.2px; 4 | border-radius: 8px; 5 | border-color: #161616; 6 | padding: 8px; 7 | margin-right:8px; 8 | margin-top: 8px; 9 | } 10 | 11 | .NodeControls > Label 12 | { 13 | font-size: 13px; 14 | -unity-font-style: bold; 15 | margin-bottom: 8px; 16 | } 17 | 18 | .PlaceHolder 19 | { 20 | font-size: 14px; 21 | padding: 8px; 22 | margin-right:8px; 23 | margin-bottom: 8px; 24 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/InspectorView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d797fcc71504e734eaea6cac7b3c1abe 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/NodeSettings.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c20503bfb0f533b43b99bb8fb74a4ed8 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/PinnedElementView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fdbf4d830a3942a18aafb8fd7a5fa53 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/PortView.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f9f1707b6119456581ab1a100d96aaa 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/RelayNode.uss: -------------------------------------------------------------------------------- 1 | .node 2 | { 3 | margin: 0px; 4 | padding: 0px; 5 | } 6 | 7 | .node > #node-border 8 | { 9 | border-radius: 9px; 10 | } 11 | 12 | #contents > #top > #input, #contents > #top > #output 13 | { 14 | padding: 0px; 15 | margin: 0px; 16 | height: 16px 17 | } 18 | 19 | #contents > #top > #input .connectorBox, #contents > #top > #output .connectorBox 20 | { 21 | padding: 0px; 22 | margin: 0px; 23 | } 24 | 25 | #contents > #top > #input .unity-label 26 | { 27 | display: none; 28 | } 29 | 30 | .hideLabels .unity-label 31 | { 32 | display: none; 33 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/RelayNode.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6de9c535e929b1546b5b960bfcb97f51 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Icons.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 455a8e35332d64d64b1813fe02a00e8b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Icons/SettingsIcons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Icons/SettingsIcons.png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/NodeTemplate.cs.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using GraphProcessor; 5 | using System.Linq; 6 | 7 | [System.Serializable, NodeMenuItem("Custom/#NAME#")] 8 | public class #SCRIPTNAME# : BaseNode 9 | { 10 | [Input(name = "In")] 11 | public float input; 12 | 13 | [Output(name = "Out")] 14 | public float output; 15 | 16 | public override string name => "#NAME#"; 17 | 18 | protected override void Process() 19 | { 20 | output = input * 42; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/NodeTemplate.cs.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9cbafe2f8c9a0042ad9fcc60c538f05 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/NodeViewTemplate.cs.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using UnityEditor.UIElements; 6 | using UnityEditor.Experimental.GraphView; 7 | using UnityEngine.UIElements; 8 | using GraphProcessor; 9 | 10 | [NodeCustomEditor(typeof(NODE_TYPE))] 11 | public class #SCRIPTNAME# : BaseNodeView 12 | { 13 | public override void Enable() 14 | { 15 | var node = nodeTarget as NODE_TYPE; 16 | 17 | // Create your fields using node's variables and add them to the controlsContainer 18 | 19 | controlsContainer.Add(new Label("Hello World !")); 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/NodeViewTemplate.cs.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cff9adb4a6bd6b4aac3a5472648a524 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Settings_Flyout_9slice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Settings_Flyout_9slice.png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Settings_Flyout_9slice@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/Settings_Flyout_9slice@2x.png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/UXML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45b7389995a945447b18a07d0de4b450 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/UXML/NodeSettings.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/UXML/NodeSettings.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6374cb49cbf8694c8d98c127f27fee5 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e5f8827aa14940f59f6f29179b03d0c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeConnector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41095db3abbea044bb45c3f71581d646 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeDragHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a4920d8a0adeff48ab20dccd6a21bea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/CopyPasteHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace GraphProcessor 6 | { 7 | [System.Serializable] 8 | public class CopyPasteHelper 9 | { 10 | public List< JsonElement > copiedNodes = new List< JsonElement >(); 11 | 12 | public List< JsonElement > copiedGroups = new List< JsonElement >(); 13 | 14 | public List< JsonElement > copiedEdges = new List< JsonElement >(); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/CopyPasteHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad4ab8e74dd9540cab3bc65ba3b8b58c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/ExposedParameterDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2195d075f27f3d48a496ea2a12bf1e7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/FieldFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e070bfe6917e4be9bff3e56c4cda092 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/NodeProvider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f90580539cbf48d58ba35c626500169 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/StackNodeViewProvider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abc80a5d5bd4ec7449204f4e373f6994 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/Vector4Drawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using UnityEditor.UIElements; 4 | using UnityEngine.UIElements; 5 | 6 | namespace GraphProcessor 7 | { 8 | // We need a drawer to display Vector4 on a single line because by default it's a toggle 9 | [CustomPropertyDrawer(typeof(Vector4))] 10 | public class IngredientDrawerUIE : PropertyDrawer 11 | { 12 | public override VisualElement CreatePropertyGUI(SerializedProperty property) 13 | { 14 | var vectorField = new Vector4Field() { value = property.vector4Value }; 15 | vectorField.RegisterValueChangedCallback(e => { 16 | property.vector4Value = e.newValue; 17 | property.serializedObject.ApplyModifiedProperties(); 18 | }); 19 | 20 | return vectorField; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/Vector4Drawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e005d18614cb90a4885aeb17e1d8b681 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 600ac8da8b308477fa0dfcd14d40ce53 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseGraphView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82433700726b148b2af8af687c24fa3a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82efb95f0451b4cc88cc103f2a013dd5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseStackNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0985aff67957de445ae4308754d3dc6f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/CreateNodeMenuWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d6862f67676b4934b4c770c79491754 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/EdgeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e38753fb1fe624181b84aa5b468ebc01 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterFieldFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13b10bab33501984ba97065b27ce8322 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterFieldView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a938f1a7da9294dd1bccc097ffed55a4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterPropertyView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEditor.UIElements; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | namespace GraphProcessor 7 | { 8 | public class ExposedParameterPropertyView : VisualElement 9 | { 10 | protected BaseGraphView baseGraphView; 11 | 12 | public ExposedParameter parameter { get; private set; } 13 | 14 | public Toggle hideInInspector { get; private set; } 15 | 16 | public ExposedParameterPropertyView(BaseGraphView graphView, ExposedParameter param) 17 | { 18 | baseGraphView = graphView; 19 | parameter = param; 20 | 21 | var field = graphView.exposedParameterFactory.GetParameterSettingsField(param, (newValue) => { 22 | param.settings = newValue as ExposedParameter.Settings; 23 | }); 24 | 25 | Add(field); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterPropertyView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7670d287f0e647e2b2a9934bdb9c19b1 3 | timeCreated: 1573245238 -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20f396177e1db490fa3958a08e540c07 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterWorkaround.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace GraphProcessor 6 | { 7 | [Serializable] 8 | public class ExposedParameterWorkaround : ScriptableObject 9 | { 10 | [SerializeReference] 11 | public List parameters = new List(); 12 | public BaseGraph graph; 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ExposedParameterWorkaround.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 886a707ace40af74481202209244b94d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/GroupView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ff0a0becab17784fbd739d189db2208 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/MiniMapView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor.UIElements; 5 | using UnityEditor.Experimental.GraphView; 6 | using UnityEngine.UIElements; 7 | 8 | namespace GraphProcessor 9 | { 10 | public class MiniMapView : MiniMap 11 | { 12 | new BaseGraphView graphView; 13 | Vector2 size; 14 | 15 | public MiniMapView(BaseGraphView baseGraphView) 16 | { 17 | this.graphView = baseGraphView; 18 | SetPosition(new Rect(0, 0, 100, 100)); 19 | size = new Vector2(100, 100); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/MiniMapView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76246e393040b425e8d74ff93388a1d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/NodeBadgeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d144fffc7bace421ea0816023d12b826 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/NodeSettingsView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ca9449892f0b534c89c929a7d94adcc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ParameterNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47b33fa0eb77eb644ac539818ea2bbf1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/PinnedElementView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed45305e038bd465d8f37499a7d22489 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/PortView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69c0ad40b9eda46c89c464f0b6d81a38 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ProcessorView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor.Experimental.GraphView; 5 | using UnityEditor.UIElements; 6 | using UnityEngine.UIElements; 7 | 8 | namespace GraphProcessor 9 | { 10 | public class ProcessorView : PinnedElementView 11 | { 12 | BaseGraphProcessor processor; 13 | 14 | public ProcessorView() 15 | { 16 | title = "Process panel"; 17 | } 18 | 19 | protected override void Initialize(BaseGraphView graphView) 20 | { 21 | processor = new ProcessGraphProcessor(graphView.graph); 22 | 23 | graphView.computeOrderUpdated += processor.UpdateComputeOrder; 24 | 25 | Button b = new Button(OnPlay) { name = "ActionButton", text = "Play !" }; 26 | 27 | content.Add(b); 28 | } 29 | 30 | void OnPlay() 31 | { 32 | processor.Run(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ProcessorView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba435dc6c3986437ebc9baec443d80b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/RelayNodeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3de88cd6096eea84aad4b43321d4bda0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/StickyNoteView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91980f17eb416574bb47754d14adfc09 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/Views/ToolbarView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3844ba2924c064729bd5589ba9d3ad59 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.alelievr.NodeGraphProcessor.Editor", 3 | "references": [ 4 | "GUID:ca937d03ee5dd4d699091438dc0f3ae6" 5 | ], 6 | "includePlatforms": [ 7 | "Editor" 8 | ], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [] 16 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a432eb0a70c5c4a37ab50d59671586f8 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/node.png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/untitled (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/untitled (1).png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Editor/untitled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/Assets/com.alelievr.NodeGraphProcessor/Editor/untitled.png -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de9dcb1d4913a5646b09e2b73101162f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d87d8f985f7499f40b41e67ff7212077 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/BaseNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3989238b25842a4da391d2c531fac81 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/BaseStackNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ccfaaae997c11c40ae62971837666d6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/ExposedParameter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 680a499af8c1716428e070768ce8971a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/Group.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 612834e03af5aa04a972c51c3a3604ee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/ICreateNodeFromObject.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using Object = UnityEngine.Object; 4 | 5 | namespace GraphProcessor 6 | { 7 | /// 8 | /// Implement this interface on a BaseNode, it allows you to automatically spawn a node if an asset of type T is dropped in the graphview area 9 | /// 10 | /// The type object your node will be created from, it must be a subclass of UnityEngine.Object 11 | public interface ICreateNodeFrom where T : Object 12 | { 13 | /// 14 | /// This function is called just after creating the node from an object and allows you to initialize the node with the object data. 15 | /// 16 | /// Object value 17 | /// True if the initialization happened correctly. False otherwise, returning false will discard your node. 18 | bool InitializeNodeFromObject(T value); 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/ICreateNodeFromObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0dc6438458a3b54fb3be4708c6c043b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/NodePort.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f706f6f8536b264cb9beb4781f59eda 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/ParameterNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f8090ed77d2b4211a2b313f5ed17913 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/PinnedElement.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UnityEngine; 3 | using System; 4 | 5 | namespace GraphProcessor 6 | { 7 | /// 8 | /// Element that overlays the graph like the blackboard 9 | /// 10 | [System.Serializable] 11 | public class PinnedElement 12 | { 13 | public static readonly Vector2 defaultSize = new Vector2(150, 200); 14 | 15 | public Rect position = new Rect(Vector2.zero, defaultSize); 16 | public bool opened = true; 17 | public SerializableType editorType; 18 | 19 | public PinnedElement(Type editorType) 20 | { 21 | this.editorType = new SerializableType(editorType); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/PinnedElement.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0429aeae57996a844a00657c8913e21d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/RelayNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8c90be388aff88468cc6d90d48c0210 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/StickyNote.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace GraphProcessor 5 | { 6 | /// 7 | /// Serializable Sticky node class 8 | /// 9 | [Serializable] 10 | public class StickyNote 11 | { 12 | public Rect position; 13 | public string title = "Hello World!"; 14 | public string content = "Description"; 15 | 16 | public StickyNote(string title, Vector2 position) 17 | { 18 | this.title = title; 19 | this.position = new Rect(position.x, position.y, 200, 300); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Elements/StickyNote.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d78c527c31afef549bfea1a83a1baa57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Graph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db326f54ce37a86488063e8a81d25fb2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Graph/Attributes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1305853968aeb3045b5c7caef2bbdfee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Graph/BaseGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31390c44c9f3a3d40b424bf6821999a2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/PackageInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("com.alelievr.NodeGraphProcessor.Editor")] -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/PackageInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75ccbc9f9e86c0e4484d986896dc8834 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e3bc93fed836d140b3428309c12ae78 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/BaseGraphProcessor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System.Linq; 5 | using Unity.Jobs; 6 | using Unity.Collections; 7 | // using Unity.Entities; 8 | 9 | namespace GraphProcessor 10 | { 11 | 12 | /// 13 | /// Graph processor 14 | /// 15 | public abstract class BaseGraphProcessor 16 | { 17 | protected BaseGraph graph; 18 | 19 | /// 20 | /// Manage graph scheduling and processing 21 | /// 22 | /// Graph to be processed 23 | public BaseGraphProcessor(BaseGraph graph) 24 | { 25 | this.graph = graph; 26 | 27 | UpdateComputeOrder(); 28 | } 29 | 30 | public abstract void UpdateComputeOrder(); 31 | 32 | /// 33 | /// Schedule the graph into the job system 34 | /// 35 | public abstract void Run(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/BaseGraphProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f35826d7d9b70c342a1e3a77e831946b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/CustomPortIO.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75502a01a74e426449b9e9b91bc66267 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/JobGraphProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21d965dd846be8e4dad4b0d71a06d016 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/ProcessGraphProcessor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System.Linq; 5 | using Unity.Jobs; 6 | using Unity.Collections; 7 | // using Unity.Entities; 8 | 9 | namespace GraphProcessor 10 | { 11 | 12 | /// 13 | /// Graph processor 14 | /// 15 | public class ProcessGraphProcessor : BaseGraphProcessor 16 | { 17 | List< BaseNode > processList; 18 | 19 | /// 20 | /// Manage graph scheduling and processing 21 | /// 22 | /// Graph to be processed 23 | public ProcessGraphProcessor(BaseGraph graph) : base(graph) {} 24 | 25 | public override void UpdateComputeOrder() 26 | { 27 | processList = graph.nodes.OrderBy(n => n.computeOrder).ToList(); 28 | } 29 | 30 | /// 31 | /// Process all the nodes following the compute order. 32 | /// 33 | public override void Run() 34 | { 35 | int count = processList.Count; 36 | 37 | for (int i = 0; i < count; i++) 38 | processList[i].OnProcess(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/ProcessGraphProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db1563f2bafeb0249a1ebada05b17e53 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Processing/TypeAdapter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 368c05c79a492d54fa8f0f6ff3c42264 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7aab40cf1ea948259caa7792aa864d3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/AppDomainExtension.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections; 3 | using System; 4 | 5 | namespace GraphProcessor 6 | { 7 | public static class AppDomainExtension 8 | { 9 | public static IEnumerable< Type > GetAllTypes(this AppDomain domain) 10 | { 11 | foreach (var assembly in domain.GetAssemblies()) 12 | { 13 | Type[] types = {}; 14 | 15 | try { 16 | types = assembly.GetTypes(); 17 | } catch { 18 | //just ignore it ... 19 | } 20 | 21 | foreach (var type in types) 22 | yield return type; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/AppDomainExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b7e6ceb2028e4680bc69f1513a37b35 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/ExceptionToLog.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | 4 | namespace GraphProcessor 5 | { 6 | public static class ExceptionToLog 7 | { 8 | public static void Call(Action a) 9 | { 10 | #if UNITY_EDITOR 11 | try 12 | { 13 | #endif 14 | a?.Invoke(); 15 | #if UNITY_EDITOR 16 | } 17 | catch (Exception e) 18 | { 19 | Debug.LogException(e); 20 | } 21 | #endif 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/ExceptionToLog.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fc4b2c15f6b53c419008947edc57da1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/GraphUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 371c9f60999484f4e90e7d7933cda144 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/JsonSerializer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c53e0d90013624cea90a3c2d436cae63 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/MessageType.cs: -------------------------------------------------------------------------------- 1 | namespace GraphProcessor 2 | { 3 | // MessageType is only available in UnityEditor so we have our own for runtime 4 | public enum NodeMessageType 5 | { 6 | None, 7 | Info, 8 | Warning, 9 | Error 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/MessageType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6da5bc85fe83349e3b5c84219071ca85 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/SerializableEdge.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e07921523edfe44ce9b789fc5ceb44f0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/SerializableType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49d77def0f0dd4431a0a872dad8fd922 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/SerrializableObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2134eb9534cbd0746be450ae8538655f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/TypeExtension.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Linq.Expressions; 4 | 5 | namespace GraphProcessor 6 | { 7 | public static class TypeExtension 8 | { 9 | public static bool IsReallyAssignableFrom(this Type type, Type otherType) 10 | { 11 | if (type.IsAssignableFrom(otherType)) 12 | return true; 13 | if (otherType.IsAssignableFrom(type)) 14 | return true; 15 | 16 | try 17 | { 18 | var v = Expression.Variable(otherType); 19 | var expr = Expression.Convert(v, type); 20 | return expr.Method != null && expr.Method.Name != "op_Implicit"; 21 | } 22 | catch (InvalidOperationException) 23 | { 24 | return false; 25 | } 26 | } 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/Utils/TypeExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0068e7c9cd63d4b48bfb24b30aeb9aa7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/com.alelievr.NodeGraphProcessor.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.alelievr.NodeGraphProcessor.Runtime", 3 | "references": [], 4 | "includePlatforms": [], 5 | "excludePlatforms": [], 6 | "allowUnsafeCode": false, 7 | "overrideReferences": false, 8 | "precompiledReferences": [], 9 | "autoReferenced": true, 10 | "defineConstraints": [], 11 | "versionDefines": [] 12 | } -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/Runtime/com.alelievr.NodeGraphProcessor.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca937d03ee5dd4d699091438dc0f3ae6 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.alelievr.node-graph-processor", 3 | "displayName": "Node Graph Processor", 4 | "version": "1.3.0", 5 | "unity": "2020.3", 6 | "description": "Node graph editor framework focused on data processing using Unity UIElements and C# 4.7", 7 | "keywords": [ 8 | "graph", 9 | "UIElements", 10 | "unity" 11 | ], 12 | "samples": [ 13 | { 14 | "displayName": "Examples", 15 | "description": "A bunch of examples using the NodeGraphProcessor API to create custom nodes and graphs", 16 | "path": "Samples~/Examples" 17 | } 18 | ], 19 | "category": "Unity" 20 | } 21 | -------------------------------------------------------------------------------- /Assets/com.alelievr.NodeGraphProcessor/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0ed9af27b1c64adcbfdb8d11d885e7d 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Antoine Lelievre 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Examples/Scenes/RuntimeGraph.unity 10 | guid: 99c9720ab356a0642a771bea13969a05 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.2.0b3 2 | m_EditorVersionWithRevision: 2021.2.0b3 (40188ccec128) 3 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - PostProcessing 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.0167 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/TimelineSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | assetDefaultFramerate: 60 16 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 1 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 1 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/ProjectSettings/boot.config -------------------------------------------------------------------------------- /UIElementsSchema/UIElements.xsd: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/articles/toc.html: -------------------------------------------------------------------------------- 1 |  2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 19 |
20 |
21 |
22 |
-------------------------------------------------------------------------------- /docs/docfx/.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # folder # 3 | ############### 4 | /**/DROP/ 5 | /**/TEMP/ 6 | /**/packages/ 7 | /**/bin/ 8 | /**/obj/ 9 | docfx 10 | -------------------------------------------------------------------------------- /docs/docfx/api/.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # temp file # 3 | ############### 4 | *.yml 5 | .manifest 6 | -------------------------------------------------------------------------------- /docs/docfx/api/index.md: -------------------------------------------------------------------------------- 1 | # Most useful classes 2 | 3 | ## Nodes 4 | 5 | - [Base Node](GraphProcessor.BaseNode.yml) 6 | - [Base Node View](GraphProcessor.BaseNodeView.yml) 7 | 8 | ## Windows 9 | - [Base Graph Window](GraphProcessor.BaseGraphWindow.yml) 10 | - [Toolbar View](GraphProcessor.ToolbarView.yml) 11 | - [Pinned Element](GraphProcessor.PinnedElement.yml) 12 | - [Pinned Element View](GraphProcessor.PinnedElementView.yml) 13 | 14 | ## Graph 15 | 16 | - [Base Graph](GraphProcessor.BaseGraph.yml) 17 | - [Base Graph Processor](GraphProcessor.BaseGraphProcessor.yml) 18 | - [Processor View](GraphProcessor.ProcessorView.yml) 19 | -------------------------------------------------------------------------------- /docs/docfx/articles/intro.md: -------------------------------------------------------------------------------- 1 | # Add your introductions here! 2 | -------------------------------------------------------------------------------- /docs/docfx/articles/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Introduction 2 | href: intro.md 3 | -------------------------------------------------------------------------------- /docs/docfx/filterConfig.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | uidRegex: ^System\.Object 4 | type: Type 5 | - exclude: 6 | uidRegex: ^Microsoft\.AspNetCore\.Mvc\.Controller 7 | type: Type 8 | 9 | -------------------------------------------------------------------------------- /docs/docfx/index.md: -------------------------------------------------------------------------------- 1 | # Welcome to the [NodeGraphProcessor](https://github.com/alelievr/NodeGraphProcessor) API doc 2 | 3 | [Click here to start browsing the API doc.](api/GraphProcessor.yml) 4 | 5 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/ManagedReference.extension.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | /** 4 | * This method will be called at the start of exports.transform in ManagedReference.html.primary.js 5 | */ 6 | exports.preTransform = function (model) { 7 | return model; 8 | } 9 | 10 | /** 11 | * This method will be called at the end of exports.transform in ManagedReference.html.primary.js 12 | */ 13 | exports.postTransform = function (model) { 14 | return model; 15 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/ManagedReference.html.primary.tmpl: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{!master(layout/_master.tmpl)}} 3 | 4 | {{#isNamespace}} 5 | {{>partials/namespace}} 6 | {{/isNamespace}} 7 | {{#isClass}} 8 | {{>partials/class}} 9 | {{/isClass}} 10 | {{#isEnum}} 11 | {{>partials/enum}} 12 | {{/isEnum}} 13 | {{>partials/customMREFContent}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/RestApi.extension.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | /** 4 | * This method will be called at the start of exports.transform in RestApi.html.primary.js 5 | */ 6 | exports.preTransform = function (model) { 7 | return model; 8 | } 9 | 10 | /** 11 | * This method will be called at the end of exports.transform in RestApi.html.primary.js 12 | */ 13 | exports.postTransform = function (model) { 14 | return model; 15 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/RestApi.html.primary.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | var restApiCommon = require('./RestApi.common.js'); 4 | var extension = require('./RestApi.extension.js') 5 | 6 | exports.transform = function (model) { 7 | if (extension && extension.preTransform) { 8 | model = extension.preTransform(model); 9 | } 10 | 11 | if (restApiCommon && restApiCommon.transform) { 12 | model = restApiCommon.transform(model); 13 | } 14 | model._disableToc = model._disableToc || !model._tocPath || (model._navPath === model._tocPath); 15 | 16 | if (extension && extension.postTransform) { 17 | model = extension.postTransform(model); 18 | } 19 | 20 | return model; 21 | } 22 | 23 | exports.getOptions = function (model) { 24 | return { "bookmarks": restApiCommon.getBookmarks(model) }; 25 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/RestApi.html.primary.tmpl: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{!master(layout/_master.tmpl)}} 3 | {{>partials/rest}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/UniversalReference.extension.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | /** 4 | * This method will be called at the start of exports.transform in UniversalReference.html.primary.js 5 | */ 6 | exports.preTransform = function (model) { 7 | return model; 8 | } 9 | 10 | /** 11 | * This method will be called at the end of exports.transform in UniversalReference.html.primary.js 12 | */ 13 | exports.postTransform = function (model) { 14 | return model; 15 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/UniversalReference.html.primary.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | var urefCommon = require('./UniversalReference.common.js'); 4 | var extension = require('./UniversalReference.extension.js'); 5 | 6 | exports.transform = function (model) { 7 | if (extension && extension.preTransform) { 8 | model = extension.preTransform(model); 9 | } 10 | 11 | if (urefCommon && urefCommon.transform) { 12 | model = urefCommon.transform(model); 13 | } 14 | 15 | model._disableToc = model._disableToc || !model._tocPath || (model._navPath === model._tocPath); 16 | 17 | if (extension && extension.postTransform) { 18 | model = extension.postTransform(model); 19 | } 20 | 21 | return model; 22 | } 23 | 24 | exports.getOptions = function (model) { 25 | return { 26 | "bookmarks": urefCommon.getBookmarks(model) 27 | }; 28 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/UniversalReference.html.primary.tmpl: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{!master(layout/_master.tmpl)}} 3 | 4 | {{#isNamespace}} 5 | {{>partials/uref/namespace}} 6 | {{/isNamespace}} 7 | {{#isClass}} 8 | {{>partials/uref/class}} 9 | {{/isClass}} 10 | {{#isEnum}} 11 | {{>partials/enum}} 12 | {{/isEnum}} 13 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/conceptual.extension.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | /** 4 | * This method will be called at the start of exports.transform in conceptual.html.primary.js 5 | */ 6 | exports.preTransform = function (model) { 7 | return model; 8 | } 9 | 10 | /** 11 | * This method will be called at the end of exports.transform in conceptual.html.primary.js 12 | */ 13 | exports.postTransform = function (model) { 14 | return model; 15 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/conceptual.html.primary.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | var common = require('./common.js'); 4 | var extension = require('./conceptual.extension.js') 5 | 6 | exports.transform = function (model) { 7 | if (extension && extension.preTransform) { 8 | model = extension.preTransform(model); 9 | } 10 | 11 | model._disableToc = model._disableToc || !model._tocPath || (model._navPath === model._tocPath); 12 | model.docurl = model.docurl || common.getImproveTheDocHref(model, model._gitContribute, model._gitUrlPattern); 13 | 14 | if (extension && extension.postTransform) { 15 | model = extension.postTransform(model); 16 | } 17 | 18 | return model; 19 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/conceptual.html.primary.tmpl: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{!master(layout/_master.tmpl)}} 3 | {{{rawTitle}}} 4 | {{{conceptual}}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/favicon.ico -------------------------------------------------------------------------------- /docs/docfx/templates/default/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/docfx/templates/default/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /docs/docfx/templates/default/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/docfx/templates/default/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_affix.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 25 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_breadcrumb.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 9 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_footer.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 |
3 |
4 | 16 |
17 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_logo.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 3 | {%- if _appLogoPath -%} 4 | 5 | {%- else -%} 6 | 7 | {%- endif -%} 8 | 9 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_navbar.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 22 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_scripts.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/_toc.liquid: -------------------------------------------------------------------------------- 1 | {% comment -%}Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.{% endcomment -%} 2 | 8 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/affix.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 26 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/breadcrumb.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 10 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/classSubtitle.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{#inConstructor}} 3 | {{__global.constructorsInSubtitle}} 4 | {{/inConstructor}} 5 | {{#inField}} 6 | {{__global.fieldsInSubtitle}} 7 | {{/inField}} 8 | {{#inProperty}} 9 | {{__global.propertiesInSubtitle}} 10 | {{/inProperty}} 11 | {{#inMethod}} 12 | {{__global.methodsInSubtitle}} 13 | {{/inMethod}} 14 | {{#inEvent}} 15 | {{__global.eventsInSubtitle}} 16 | {{/inEvent}} 17 | {{#inOperator}} 18 | {{__global.operatorsInSubtitle}} 19 | {{/inOperator}} 20 | {{#inEii}} 21 | {{__global.eiisInSubtitle}} 22 | {{/inEii}} 23 | {{#inFunction}} 24 | {{__global.functionsInSubtitle}} 25 | {{/inFunction}} 26 | {{#inMember}} 27 | {{__global.membersInSubtitle}} 28 | {{/inMember}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/customMREFContent.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{!Add your own custom template for the content for ManagedReference here}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/dd-li.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{#items}} 2 |
  • {{name}}
  • 3 | {{/items}} 4 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/footer.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 |
    4 |
    5 | 14 |
    15 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/li.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 31 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/logo.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/namespace.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 |

    {{>partials/title}}

    4 |
    {{{summary}}}
    5 |
    {{{conceptual}}}
    6 |
    {{{remarks}}}
    7 | {{#children}} 8 |

    {{>partials/namespaceSubtitle}}

    9 | {{#children}} 10 |

    11 |
    {{{summary}}}
    12 | {{/children}} 13 | {{/children}} 14 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/namespaceSubtitle.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | {{^isNamespace}} 3 | {{#inNamespace}} 4 | {{__global.namespacesInSubtitle}} 5 | {{/inNamespace}} 6 | {{/isNamespace}} 7 | {{#inClass}} 8 | {{__global.classesInSubtitle}} 9 | {{/inClass}} 10 | {{#inStruct}} 11 | {{__global.structsInSubtitle}} 12 | {{/inStruct}} 13 | {{#inInterface}} 14 | {{__global.interfacesInSubtitle}} 15 | {{/inInterface}} 16 | {{#inEnum}} 17 | {{__global.enumsInSubtitle}} 18 | {{/inEnum}} 19 | {{#inDelegate}} 20 | {{__global.delegatesInSubtitle}} 21 | {{/inDelegate}} 22 | {{#inFunction}} 23 | {{__global.functionsInSubtitle}} 24 | {{/inFunction}} 25 | {{#inVariable}} 26 | {{__global.variablesInSubtitle}} 27 | {{/inVariable}} 28 | {{#inTypeAlias}} 29 | {{__global.typeAliasesInSubtitle}} 30 | {{/inTypeAlias}} 31 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/navbar.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 23 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/scripts.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/searchResults.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 |
    4 |
    5 |
    6 |

    7 |
    8 |
      9 |
      10 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/toc.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | 9 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/uref/inheritance.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{#inheritance}} 2 | {{>partials/uref/inheritance}} 3 | {{/inheritance}} 4 |
      {{{type.specName.0.value}}}
      5 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/partials/uref/parameters.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 | {{#properties.0}} 4 |
      Properties
      5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {{/properties.0}} 15 | {{#properties}} 16 | 17 | 18 | 19 | 23 | 24 | {{/properties}} 25 | {{#properties.0}} 26 | 27 |
      {{__global.type}}{{__global.name}}{{__global.description}}
      {{{type.specName.0.value}}}{{{id}}} 20 | {{{description}}} 21 | {{>partials/parameters}} 22 |
      28 | {{/properties.0}} -------------------------------------------------------------------------------- /docs/docfx/templates/default/styles/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/docfx/templates/default/styles/main.css -------------------------------------------------------------------------------- /docs/docfx/templates/default/styles/main.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | -------------------------------------------------------------------------------- /docs/docfx/templates/default/toc.extension.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | 3 | /** 4 | * This method will be called at the start of exports.transform in toc.html.js 5 | */ 6 | exports.preTransform = function (model) { 7 | return model; 8 | } 9 | 10 | /** 11 | * This method will be called at the end of exports.transform in toc.html.js 12 | */ 13 | exports.postTransform = function (model) { 14 | return model; 15 | } -------------------------------------------------------------------------------- /docs/docfx/templates/default/toc.html.tmpl: -------------------------------------------------------------------------------- 1 | {{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}} 2 | 3 |
      4 |
      5 | {{^_disableSideFilter}} 6 |
      7 |
      8 | 9 | 10 | 11 |
      12 |
      13 | {{/_disableSideFilter}} 14 |
      15 |
      16 | {{^leaf}} 17 | {{>partials/li}} 18 | {{/leaf}} 19 |
      20 |
      21 |
      22 |
      -------------------------------------------------------------------------------- /docs/docfx/toc.yml: -------------------------------------------------------------------------------- 1 | - name: NodeGraphProcessor API 2 | href: api/ 3 | homepage: api/index.md 4 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/favicon.ico -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alelievr/NodeGraphProcessor/bc71d48ba9dfc7e7062779d6d12b9ef269e521b1/docs/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /docs/styles/main.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | -------------------------------------------------------------------------------- /docs/toc.html: -------------------------------------------------------------------------------- 1 |  2 |
      3 |
      4 |
      5 |
      6 | 7 | 8 | 9 |
      10 |
      11 |
      12 |
      13 | 14 | 19 |
      20 |
      21 |
      22 |
      -------------------------------------------------------------------------------- /docs/update_doc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Generate the doc files 4 | docfx docfx/docfx.json 5 | 6 | # Remove cache files from docfx generated in the source code 7 | rm -rf ../Assets/com.alelievr.NodeGraphProcessor/Editor/obj/ 8 | --------------------------------------------------------------------------------