From 49b25e755b70ec412feaaf0b898d6f7e09d2bea6 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 28 Jun 2022 09:40:37 +0800 Subject: +node example --- .../Examples/LogicToy/Nodes/PulseNode.cs | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs (limited to 'Other/NodeEditorExamples/Assets/xNode-examples/Examples/LogicToy/Nodes/PulseNode.cs') 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")); + } + } + + /// This node can not receive signals, so this is not used + protected override void OnInputChanged() { } + + public override object GetValue(NodePort port) { + return output; + } + } +} \ No newline at end of file -- cgit v1.1-26-g67d0