Browse Source

Moved time registration to the main UniQuake class

console
Nico de Poel 5 years ago
parent
commit
276d66434e
  1. 4
      Assets/Scripts/SysCalls.cs
  2. 8
      Assets/Scripts/UniQuake.cs

4
Assets/Scripts/SysCalls.cs

@ -9,14 +9,12 @@ public class SysCalls: CallbackHandler<SysCalls>
private const int MaxFileHandles = 50;
private readonly UniQuake uq;
private readonly double startTime;
private readonly FileStream[] fileHandles = new FileStream[MaxFileHandles];
public SysCalls(UniQuake uniQuake)
{
uq = uniQuake;
startTime = Time.timeAsDouble;
var callbacks = new Callbacks
{
@ -129,7 +127,7 @@ public class SysCalls: CallbackHandler<SysCalls>
private double FloatTime()
{
return Time.timeAsDouble - startTime;
return uq.CurrentTime;
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]

8
Assets/Scripts/UniQuake.cs

@ -12,6 +12,12 @@ public class UniQuake: MonoBehaviour
private ModCalls modCalls;
private bool initialized = false;
private double startTime;
/// <summary>
/// Time since startup for this particular instance of Quake
/// </summary>
public double CurrentTime => Time.timeAsDouble - startTime;
void Start()
{
@ -35,6 +41,8 @@ public class UniQuake: MonoBehaviour
sysCalls = new SysCalls(this);
modCalls = new ModCalls(this);
startTime = Time.timeAsDouble;
try
{
UniQuake_Init(quakeParms, sysCalls.ToIntPtr, modCalls.ToIntPtr);

Loading…
Cancel
Save