Files
BlockSpace-v1.5.0b/Assets/Scripts/Assembly-CSharp/DebounceBehavior.cs
T
2026-06-01 17:19:55 +02:00

30 lines
595 B
C#

using System;
using UnityEngine;
[DisallowMultipleComponent]
public sealed class DebounceBehavior : NodeBehavior
{
private bool pending;
private float fireAt;
private void Update()
{
if (base.IsAuthoritative && pending && Time.unscaledTime >= fireAt)
{
pending = false;
TriggerOutput("Out");
}
}
public override void OnRun(string inputPortName)
{
if (base.IsAuthoritative && string.Equals(inputPortName, "In", StringComparison.Ordinal))
{
float num = Mathf.Max(0f, (float)GetInputNumber("Seconds"));
pending = true;
fireAt = Time.unscaledTime + num;
}
}
}