mysimulation/server/tso.common/Utils/Promise.cs
Tony Bark 22191ce648 Removed NioTSO client and server
- NioTSO client isn't needed because we're using RayLib
- Added FreeSO's API server to handle most backend operations
2024-05-01 02:55:43 -04:00

35 lines
628 B
C#
Executable file

using System;
namespace FSO.Common.Utils
{
public class Promise <T>
{
private Func<object, T> Getter;
private T Value;
private bool HasRun = false;
public Promise(Func<object, T> getter)
{
this.Getter = getter;
}
public void SetValue(T value)
{
this.HasRun = true;
this.Value = value;
}
public T Get()
{
if (HasRun == false)
{
Value = Getter(null);
HasRun = true;
}
return Value;
}
}
}