mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-15 14:51:21 +00:00
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
35 lines
628 B
C#
Executable file
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;
|
|
}
|
|
}
|
|
}
|