using Sandbox.Utility;
namespace Sandbox;
public class Time
{
///
/// The time since game startup
///
public static float Now { get; set; }
///
/// The delta between the last frame and the current (for all intents and purposes)
///
public static float Delta { get; set; }
// Audio.Time , Audio.TimeDelta - if these are needed
//public static double Sound => g_pSoundSystem.AudioStateHostTime();
//public static double SoundDelta => g_pSoundSystem.AudioStateFrameTime();
internal static void Update( double now, double delta )
{
Now = (float)now;
Delta = (float)delta;
}
public static IDisposable Scope( double now, double delta )
{
var d = Delta;
var n = Now;
Update( now, delta );
return DisposeAction.Create( () =>
{
Delta = d;
Now = n;
} );
}
}