mirror of
https://github.com/Siccity/xNode.git
synced 2025-12-21 09:46:03 +08:00
27 lines
621 B
C#
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;
|
|
}
|
|
}
|
|
} |