summaryrefslogtreecommitdiff
path: root/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.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/PulseNode.cs
parentc92269331692feca2c276649f6c4ee8911f1f859 (diff)
+node example
Diffstat (limited to 'Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs')
-rw-r--r--Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs
new file mode 100644
index 00000000..44c0dcb8
--- /dev/null
+++ b/Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs
@@ -0,0 +1,32 @@
+using UnityEngine;
+
+namespace XNode.Examples.LogicToy {
+ [NodeWidth(140), NodeTint(70,100,70)]
+ public class PulseNode : LogicNode, ITimerTick {
+ [Space(-18)]
+ public float interval = 1f;
+ [Output, HideInInspector] public bool output;
+ public override bool led { get { return output; } }
+
+ private float timer;
+
+ public void Tick(float deltaTime) {
+ timer += deltaTime;
+ if (!output && timer > interval) {
+ timer -= interval;
+ output = true;
+ SendSignal(GetPort("output"));
+ } else if (output) {
+ output = false;
+ SendSignal(GetPort("output"));
+ }
+ }
+
+ /// <summary> This node can not receive signals, so this is not used </summary>
+ protected override void OnInputChanged() { }
+
+ public override object GetValue(NodePort port) {
+ return output;
+ }
+ }
+} \ No newline at end of file