blob: 44c0dcb885519adceeacae121c5f9634a6bf1acf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
}
}
}
|