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

8
Assets/Scripts/UniQuake.cs

@ -12,6 +12,12 @@ public class UniQuake: MonoBehaviour
private ModCalls modCalls; private ModCalls modCalls;
private bool initialized = false; 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() void Start()
{ {
@ -35,6 +41,8 @@ public class UniQuake: MonoBehaviour
sysCalls = new SysCalls(this); sysCalls = new SysCalls(this);
modCalls = new ModCalls(this); modCalls = new ModCalls(this);
startTime = Time.timeAsDouble;
try try
{ {
UniQuake_Init(quakeParms, sysCalls.ToIntPtr, modCalls.ToIntPtr); UniQuake_Init(quakeParms, sysCalls.ToIntPtr, modCalls.ToIntPtr);

Loading…
Cancel
Save