Skip to content

Commit 1092d1f

Browse files
committed
Publish new package
1 parent 8911d8c commit 1092d1f

File tree

212 files changed

+14296
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

212 files changed

+14296
-0
lines changed

Samples~/Examples/BasicExample.asset

Lines changed: 763 additions & 0 deletions
Large diffs are not rendered by default.

Samples~/Examples/BasicExample.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
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: 31390c44c9f3a3d40b424bf6821999a2, type: 3}
13+
m_Name: ConditionalGraph
14+
m_EditorClassIdentifier:
15+
serializedNodes:
16+
- type: ForLoopNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
17+
jsonDatas: '{"GUID":"d5ca5207-95e0-48d1-a3a8-a3a01ede32ff","computeOrder":5,"position":{"serializedVersion":"2","x":1715.5386962890625,"y":2.243854522705078,"width":215.0,"height":138.00001525878907},"expanded":false,"debug":false,"nodeLock":false,"start":0,"end":10,"index":9}'
18+
- type: IfNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
19+
jsonDatas: '{"GUID":"0b887ee0-c1bb-4ebd-9d59-dfad6ca5d169","computeOrder":2,"position":{"serializedVersion":"2","x":903.000244140625,"y":-43.728031158447269,"width":144.0,"height":120.00001525878906},"expanded":false,"debug":false,"nodeLock":false,"condition":false,"compareOperator":0}'
20+
- type: IfNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
21+
jsonDatas: '{"GUID":"057208a7-faeb-41f9-b152-b2cfa3843888","computeOrder":4,"position":{"serializedVersion":"2","x":1422.000244140625,"y":-121.7280502319336,"width":144.0,"height":120.00001525878906},"expanded":false,"debug":false,"nodeLock":false,"condition":false,"compareOperator":0}'
22+
- type: MultiAddNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
23+
jsonDatas: '{"GUID":"e00032bc-e54e-4c8b-84c9-51eb5103abc2","computeOrder":8,"position":{"serializedVersion":"2","x":459.0,"y":-138.0,"width":123.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":84.0}'
24+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
25+
jsonDatas: '{"GUID":"cac5f34e-166a-4f09-a2a0-9a805d70b7a7","computeOrder":7,"position":{"serializedVersion":"2","x":290.0,"y":-190.0,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":42.0,"input":42.0}'
26+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
27+
jsonDatas: '{"GUID":"80f2299f-e7f8-45ce-a46c-fe74ae2a58f7","computeOrder":6,"position":{"serializedVersion":"2","x":293.0,"y":-85.0,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":42.0,"input":42.0}'
28+
- type: IfNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
29+
jsonDatas: '{"GUID":"575b566d-578e-4d1c-8278-3fe61059696a","computeOrder":3,"position":{"serializedVersion":"2","x":1417.0,"y":82.27198028564453,"width":144.0,"height":120.00001525878906},"expanded":false,"debug":false,"nodeLock":false,"condition":false,"compareOperator":0}'
30+
- type: MultiAddNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
31+
jsonDatas: '{"GUID":"70760904-88ea-4e03-8fdb-fb6377f9bcfd","computeOrder":11,"position":{"serializedVersion":"2","x":821.0264892578125,"y":230.0491485595703,"width":123.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":42.0}'
32+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
33+
jsonDatas: '{"GUID":"2ce9dd45-d5fe-4829-9a7e-77027b620366","computeOrder":9,"position":{"serializedVersion":"2","x":664.0001220703125,"y":187.2719268798828,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":12.0,"input":12.0}'
34+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
35+
jsonDatas: '{"GUID":"f277b514-cc12-44f0-aee2-b095a39eb103","computeOrder":10,"position":{"serializedVersion":"2","x":667.0001220703125,"y":292.2720031738281,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":30.0,"input":30.0}'
36+
- type: MultiAddNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
37+
jsonDatas: '{"GUID":"18e4ddea-7bcd-446f-bd8b-0f5cca686f4c","computeOrder":14,"position":{"serializedVersion":"2","x":958.0,"y":-261.0,"width":123.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":42.0}'
38+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
39+
jsonDatas: '{"GUID":"72b4a43d-1c20-49e8-84c2-ad1ebd4d3f1f","computeOrder":13,"position":{"serializedVersion":"2","x":789.0,"y":-313.0,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":21.0,"input":21.0}'
40+
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
41+
jsonDatas: '{"GUID":"d7d3e119-2a57-44c1-ab92-8de53b335999","computeOrder":12,"position":{"serializedVersion":"2","x":792.0,"y":-208.0,"width":101.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"output":21.0,"input":21.0}'
42+
- type: ConditionalPrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
43+
PublicKeyToken=null
44+
jsonDatas: '{"GUID":"02938362-e7d5-4446-b4ce-e740710062d3","computeOrder":15,"position":{"serializedVersion":"2","x":2257.975341796875,"y":10.215508460998536,"width":176.0,"height":114.0},"expanded":false,"debug":false,"nodeLock":false}'
45+
- type: ConditionalPrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
46+
PublicKeyToken=null
47+
jsonDatas: '{"GUID":"ab35bbd6-77b3-4047-89c3-65e89faebd54","computeOrder":17,"position":{"serializedVersion":"2","x":2205.150146484375,"y":187.30003356933595,"width":168.0,"height":115.00000762939453},"expanded":false,"debug":false,"nodeLock":false}'
48+
- type: StringNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
49+
jsonDatas: '{"GUID":"60483d14-2e65-48f0-8c6a-828ed62a7401","computeOrder":16,"position":{"serializedVersion":"2","x":1774.7449951171875,"y":340.4343566894531,"width":214.0,"height":179.0},"expanded":false,"debug":false,"nodeLock":false,"output":"Loop
50+
is done !"}'
51+
- type: NodeGraphProcessor.Examples.Comparison, Assembly-CSharp, Version=0.0.0.0,
52+
Culture=neutral, PublicKeyToken=null
53+
jsonDatas: '{"GUID":"e53f2e86-0398-44bc-8350-87f154cdd9dd","computeOrder":1,"position":{"serializedVersion":"2","x":599.0,"y":-17.0,"width":244.0,"height":160.0},"expanded":false,"debug":false,"nodeLock":false,"inA":10.0,"inB":0.0,"compared":false,"compareFunction":4}'
54+
- type: NodeGraphProcessor.Examples.StartNode, Assembly-CSharp, Version=0.0.0.0,
55+
Culture=neutral, PublicKeyToken=null
56+
jsonDatas: '{"GUID":"4d4e7649-dade-42d7-b08d-6ef2bb438f38","computeOrder":0,"position":{"serializedVersion":"2","x":644.0,"y":-128.44000244140626,"width":91.0,"height":77.0},"expanded":false,"debug":false,"nodeLock":false}'
57+
edges:
58+
- GUID: a71011e7-132b-4cbb-929f-8a9a4025ec32
59+
owner: {fileID: 11400000}
60+
inputNodeGUID: e00032bc-e54e-4c8b-84c9-51eb5103abc2
61+
outputNodeGUID: 80f2299f-e7f8-45ce-a46c-fe74ae2a58f7
62+
inputFieldName: inputs
63+
outputFieldName: output
64+
inputPortIdentifier:
65+
outputPortIdentifier:
66+
- GUID: 59f6d606-0bf0-49c5-a278-737629fe8aca
67+
owner: {fileID: 11400000}
68+
inputNodeGUID: e00032bc-e54e-4c8b-84c9-51eb5103abc2
69+
outputNodeGUID: cac5f34e-166a-4f09-a2a0-9a805d70b7a7
70+
inputFieldName: inputs
71+
outputFieldName: output
72+
inputPortIdentifier:
73+
outputPortIdentifier:
74+
- GUID: 06d15c0b-ce7a-46d2-b44b-c81a9bdda2eb
75+
owner: {fileID: 11400000}
76+
inputNodeGUID: 18e4ddea-7bcd-446f-bd8b-0f5cca686f4c
77+
outputNodeGUID: d7d3e119-2a57-44c1-ab92-8de53b335999
78+
inputFieldName: inputs
79+
outputFieldName: output
80+
inputPortIdentifier:
81+
outputPortIdentifier:
82+
- GUID: f9d6e68a-5871-4cbf-8ed0-af967c675a29
83+
owner: {fileID: 11400000}
84+
inputNodeGUID: 18e4ddea-7bcd-446f-bd8b-0f5cca686f4c
85+
outputNodeGUID: 72b4a43d-1c20-49e8-84c2-ad1ebd4d3f1f
86+
inputFieldName: inputs
87+
outputFieldName: output
88+
inputPortIdentifier:
89+
outputPortIdentifier:
90+
- GUID: 6d4544d9-03e0-425e-a37b-ef46cfc5a3a6
91+
owner: {fileID: 11400000}
92+
inputNodeGUID: 70760904-88ea-4e03-8fdb-fb6377f9bcfd
93+
outputNodeGUID: 2ce9dd45-d5fe-4829-9a7e-77027b620366
94+
inputFieldName: inputs
95+
outputFieldName: output
96+
inputPortIdentifier:
97+
outputPortIdentifier:
98+
- GUID: 67fe0855-4b44-4201-8fce-77d0ef7fd0ac
99+
owner: {fileID: 11400000}
100+
inputNodeGUID: 70760904-88ea-4e03-8fdb-fb6377f9bcfd
101+
outputNodeGUID: f277b514-cc12-44f0-aee2-b095a39eb103
102+
inputFieldName: inputs
103+
outputFieldName: output
104+
inputPortIdentifier:
105+
outputPortIdentifier:
106+
- GUID: ff535c14-026f-4af1-9739-738eca034df1
107+
owner: {fileID: 11400000}
108+
inputNodeGUID: 057208a7-faeb-41f9-b152-b2cfa3843888
109+
outputNodeGUID: 0b887ee0-c1bb-4ebd-9d59-dfad6ca5d169
110+
inputFieldName: executed
111+
outputFieldName: true
112+
inputPortIdentifier:
113+
outputPortIdentifier:
114+
- GUID: b2333c33-8446-4028-9668-7cb12fa27f63
115+
owner: {fileID: 11400000}
116+
inputNodeGUID: 575b566d-578e-4d1c-8278-3fe61059696a
117+
outputNodeGUID: 0b887ee0-c1bb-4ebd-9d59-dfad6ca5d169
118+
inputFieldName: executed
119+
outputFieldName: false
120+
inputPortIdentifier:
121+
outputPortIdentifier:
122+
- GUID: cf7202ef-b75c-45dc-b406-57fe16322ec9
123+
owner: {fileID: 11400000}
124+
inputNodeGUID: d5ca5207-95e0-48d1-a3a8-a3a01ede32ff
125+
outputNodeGUID: 575b566d-578e-4d1c-8278-3fe61059696a
126+
inputFieldName: executed
127+
outputFieldName: false
128+
inputPortIdentifier:
129+
outputPortIdentifier:
130+
- GUID: 093f56b5-f27c-4e24-903d-b90bda1c6a38
131+
owner: {fileID: 11400000}
132+
inputNodeGUID: d5ca5207-95e0-48d1-a3a8-a3a01ede32ff
133+
outputNodeGUID: 057208a7-faeb-41f9-b152-b2cfa3843888
134+
inputFieldName: executed
135+
outputFieldName: false
136+
inputPortIdentifier:
137+
outputPortIdentifier:
138+
- GUID: 45f4f738-4334-4379-bca8-bfff23a90b12
139+
owner: {fileID: 11400000}
140+
inputNodeGUID: 02938362-e7d5-4446-b4ce-e740710062d3
141+
outputNodeGUID: d5ca5207-95e0-48d1-a3a8-a3a01ede32ff
142+
inputFieldName: executed
143+
outputFieldName: loopBody
144+
inputPortIdentifier:
145+
outputPortIdentifier:
146+
- GUID: 91163516-0f7c-4ac3-bf73-4b3affe902dc
147+
owner: {fileID: 11400000}
148+
inputNodeGUID: 02938362-e7d5-4446-b4ce-e740710062d3
149+
outputNodeGUID: d5ca5207-95e0-48d1-a3a8-a3a01ede32ff
150+
inputFieldName: obj
151+
outputFieldName: index
152+
inputPortIdentifier:
153+
outputPortIdentifier:
154+
- GUID: 551f4048-86f7-4bd8-8497-6895e1bc0b3c
155+
owner: {fileID: 11400000}
156+
inputNodeGUID: ab35bbd6-77b3-4047-89c3-65e89faebd54
157+
outputNodeGUID: d5ca5207-95e0-48d1-a3a8-a3a01ede32ff
158+
inputFieldName: executed
159+
outputFieldName: loopCompleted
160+
inputPortIdentifier:
161+
outputPortIdentifier:
162+
- GUID: 2920d9b2-c919-49a6-bf89-31a741542df4
163+
owner: {fileID: 11400000}
164+
inputNodeGUID: ab35bbd6-77b3-4047-89c3-65e89faebd54
165+
outputNodeGUID: 60483d14-2e65-48f0-8c6a-828ed62a7401
166+
inputFieldName: obj
167+
outputFieldName: output
168+
inputPortIdentifier:
169+
outputPortIdentifier:
170+
- GUID: 92516028-04d4-4db8-91ef-ef5c92eab6ea
171+
owner: {fileID: 11400000}
172+
inputNodeGUID: 0b887ee0-c1bb-4ebd-9d59-dfad6ca5d169
173+
outputNodeGUID: e53f2e86-0398-44bc-8350-87f154cdd9dd
174+
inputFieldName: condition
175+
outputFieldName: compared
176+
inputPortIdentifier:
177+
outputPortIdentifier:
178+
- GUID: 145e6c9a-2050-4ea4-9874-2d8db96b1dcd
179+
owner: {fileID: 11400000}
180+
inputNodeGUID: 0b887ee0-c1bb-4ebd-9d59-dfad6ca5d169
181+
outputNodeGUID: 4d4e7649-dade-42d7-b08d-6ef2bb438f38
182+
inputFieldName: executed
183+
outputFieldName: executes
184+
inputPortIdentifier:
185+
outputPortIdentifier:
186+
groups: []
187+
stackNodes: []
188+
pinnedElements:
189+
- position:
190+
serializedVersion: 2
191+
x: 0
192+
y: 29
193+
width: 150
194+
height: 200
195+
opened: 1
196+
editorType:
197+
serializedType: GraphProcessor.ExposedParameterView, com.alelievr.NodeGraphProcessor,
198+
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
199+
- position:
200+
serializedVersion: 2
201+
x: 2
202+
y: 132
203+
width: 150
204+
height: 200
205+
opened: 1
206+
editorType:
207+
serializedType: GraphProcessor.ExposedParameterView, com.alelievr.NodeGraphProcessor.Editor,
208+
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
209+
- position:
210+
serializedVersion: 2
211+
x: 39
212+
y: 396
213+
width: 150
214+
height: 200
215+
opened: 1
216+
editorType:
217+
serializedType: ConditionalProcessorView, Assembly-CSharp-Editor, Version=0.0.0.0,
218+
Culture=neutral, PublicKeyToken=null
219+
exposedParameters: []
220+
stickyNotes: []
221+
position: {x: -63, y: 404, z: 0}
222+
scale: {x: 0.57175326, y: 0.57175326, z: 1}
223+
references:
224+
version: 1

Samples~/Examples/ConditionalGraph.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Samples~/Examples/ConditionalGraph.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using GraphProcessor;
2+
using UnityEngine.Rendering;
3+
4+
namespace NodeGraphProcessor.Examples
5+
{
6+
[System.Serializable, NodeMenuItem("Conditional/Comparison")]
7+
public class Comparison : BaseNode
8+
{
9+
[Input(name = "In A")]
10+
public float inA;
11+
12+
[Input(name = "In B")]
13+
public float inB;
14+
15+
[Output(name = "Out")]
16+
public bool compared;
17+
18+
public CompareFunction compareFunction = CompareFunction.LessEqual;
19+
20+
public override string name => "Comparison";
21+
22+
protected override void Process()
23+
{
24+
switch (compareFunction)
25+
{
26+
default:
27+
case CompareFunction.Disabled:
28+
case CompareFunction.Never: compared = false; break;
29+
case CompareFunction.Always: compared = true; break;
30+
case CompareFunction.Equal: compared = inA == inB; break;
31+
case CompareFunction.Greater: compared = inA > inB; break;
32+
case CompareFunction.GreaterEqual: compared = inA >= inB; break;
33+
case CompareFunction.Less: compared = inA < inB; break;
34+
case CompareFunction.LessEqual: compared = inA <= inB; break;
35+
case CompareFunction.NotEqual: compared = inA != inB; break;
36+
}
37+
}
38+
}
39+
}

Samples~/Examples/ConditionalGraph/Comparison.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
namespace NodeGraphProcessor.Examples
2+
{
3+
public struct ConditionalLink {}
4+
}

Samples~/Examples/ConditionalGraph/ConditionalLink.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
using System;
2+
using System.Collections;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Reflection;
6+
using GraphProcessor;
7+
using UnityEngine;
8+
9+
namespace NodeGraphProcessor.Examples
10+
{
11+
[System.Serializable]
12+
/// <summary>
13+
/// This is the base class for every node that is executed by the conditional processor, it takes an executed bool as input to
14+
/// </summary>
15+
public abstract class ConditionalNode : BaseNode, IConditionalNode
16+
{
17+
// These booleans will controls wether or not the execution of the folowing nodes will be done or discarded.
18+
[Input(name = "Executed", allowMultiple = true)]
19+
public ConditionalLink executed;
20+
21+
public abstract IEnumerable< ConditionalNode > GetExecutedNodes();
22+
23+
// Assure that the executed field is always at the top of the node port section
24+
public override FieldInfo[] GetNodeFields()
25+
{
26+
var fields = base.GetNodeFields();
27+
Array.Sort(fields, (f1, f2) => f1.Name == nameof(executed) ? -1 : 1);
28+
return fields;
29+
}
30+
}
31+
32+
[System.Serializable]
33+
/// <summary>
34+
/// This class represent a simple node which takes one event in parameter and pass it to the next node
35+
/// </summary>
36+
public abstract class LinearConditionalNode : ConditionalNode, IConditionalNode
37+
{
38+
[Output(name = "Executes")]
39+
public ConditionalLink executes;
40+
41+
public override IEnumerable< ConditionalNode > GetExecutedNodes()
42+
{
43+
// Return all the nodes connected to the executes port
44+
return outputPorts.FirstOrDefault(n => n.fieldName == nameof(executes))
45+
.GetEdges().Select(e => e.inputNode as ConditionalNode);
46+
}
47+
}
48+
49+
[System.Serializable]
50+
/// <summary>
51+
/// This class represent a waitable node which invokes another node after a time/frame
52+
/// </summary>
53+
public abstract class WaitableNode : LinearConditionalNode
54+
{
55+
[Output(name = "Execute After")]
56+
public ConditionalLink executeAfter;
57+
58+
protected void ProcessFinished()
59+
{
60+
onProcessFinished.Invoke(this);
61+
}
62+
63+
[HideInInspector]
64+
public Action<WaitableNode> onProcessFinished;
65+
66+
public IEnumerable< ConditionalNode > GetExecuteAfterNodes()
67+
{
68+
return outputPorts.FirstOrDefault(n => n.fieldName == nameof(executeAfter))
69+
.GetEdges().Select(e => e.inputNode as ConditionalNode);
70+
}
71+
}
72+
}

0 commit comments

Comments
 (0)