From 276d66434efc1df38657e23ff9dd3265c73b80b9 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Sun, 4 Apr 2021 14:44:41 +0200 Subject: [PATCH] Moved time registration to the main UniQuake class --- Assets/Scripts/SysCalls.cs | 4 +--- Assets/Scripts/UniQuake.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/SysCalls.cs b/Assets/Scripts/SysCalls.cs index ba6da75..2bf1b4b 100644 --- a/Assets/Scripts/SysCalls.cs +++ b/Assets/Scripts/SysCalls.cs @@ -9,14 +9,12 @@ public class SysCalls: CallbackHandler 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 private double FloatTime() { - return Time.timeAsDouble - startTime; + return uq.CurrentTime; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] diff --git a/Assets/Scripts/UniQuake.cs b/Assets/Scripts/UniQuake.cs index 1933449..a6f61d7 100644 --- a/Assets/Scripts/UniQuake.cs +++ b/Assets/Scripts/UniQuake.cs @@ -12,6 +12,12 @@ public class UniQuake: MonoBehaviour private ModCalls modCalls; private bool initialized = false; + private double startTime; + + /// + /// Time since startup for this particular instance of Quake + /// + 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);