EVERYTHING
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
[DisallowMultipleComponent]
|
||||
public sealed class TimerBehavior : NodeBehavior
|
||||
{
|
||||
private bool running;
|
||||
|
||||
private float nextTickAt;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (base.IsAuthoritative && running)
|
||||
{
|
||||
float num = Mathf.Max(0.0001f, (float)GetInputNumber("Seconds"));
|
||||
if (Time.unscaledTime >= nextTickAt)
|
||||
{
|
||||
nextTickAt = Time.unscaledTime + num;
|
||||
TriggerOutput("Tick");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnRun(string inputPortName)
|
||||
{
|
||||
if (base.IsAuthoritative)
|
||||
{
|
||||
if (string.Equals(inputPortName, "Start", StringComparison.Ordinal))
|
||||
{
|
||||
running = true;
|
||||
nextTickAt = Time.unscaledTime + Mathf.Max(0.0001f, (float)GetInputNumber("Seconds"));
|
||||
}
|
||||
else if (string.Equals(inputPortName, "Stop", StringComparison.Ordinal))
|
||||
{
|
||||
running = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user