mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-07-07 07:00:33 -04:00
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
This commit is contained in:
parent
f12ba1502b
commit
22191ce648
591 changed files with 53264 additions and 3362 deletions
35
server/tso.common/Utils/Promise.cs
Executable file
35
server/tso.common/Utils/Promise.cs
Executable file
|
@ -0,0 +1,35 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue