1
0
mirror of https://github.com/Siccity/xNode.git synced 2025-12-21 09:46:03 +08:00
xNode/Examples/LogicToy/Nodes/ToggleNode.cs
2019-09-25 15:50:51 +02:00

27 lines
621 B
C#

using System.Linq;
using UnityEngine;
namespace XNode.Examples.LogicToy {
[NodeWidth(140)]
public class ToggleNode : LogicNode {
[Input] public bool input;
[Output] 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;
}
}
}