mirror of
https://github.com/Siccity/xNode.git
synced 2025-12-20 17:26:02 +08:00
27 lines
676 B
C#
27 lines
676 B
C#
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
namespace XNode.Examples.LogicToy {
|
|
[NodeWidth(140), NodeTint(70,70,100)]
|
|
public class ToggleNode : LogicNode {
|
|
[Input, HideInInspector] public bool input;
|
|
[Output, HideInInspector] 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;
|
|
}
|
|
}
|
|
} |