summaryrefslogtreecommitdiff
path: root/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-06-28 09:40:37 +0800
committerchai <chaifix@163.com>2022-06-28 09:40:37 +0800
commit49b25e755b70ec412feaaf0b898d6f7e09d2bea6 (patch)
tree3c5f4260f30d1c2d7196db93153700d7ddec3157 /Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs
parentc92269331692feca2c276649f6c4ee8911f1f859 (diff)
+node example
Diffstat (limited to 'Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs')
-rw-r--r--Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs27
1 files changed, 27 insertions, 0 deletions
diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs
new file mode 100644
index 00000000..ba71fa0d
--- /dev/null
+++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/ToggleNode.cs
@@ -0,0 +1,27 @@
+using System.Linq;
+using UnityEngine;
+
+namespace XNode.Examples.LogicToy {
+ [NodeWidth(140), NodeTint(70,70,100)]
+ public class ToggleNode : LogicNode {
+ [Input, HideInInspector] public bool input;
+ [Output, HideInInspector] public bool output;
+ public override bool led { get { return output; } }
+
+ protected override void OnInputChanged() {
+ bool newInput = GetPort("input").GetInputValues<bool>().Any(x => x);
+
+ if (!input && newInput) {
+ input = newInput;
+ output = !output;
+ SendSignal(GetPort("output"));
+ } else if (input && !newInput) {
+ input = newInput;
+ }
+ }
+
+ public override object GetValue(NodePort port) {
+ return output;
+ }
+ }
+} \ No newline at end of file