This document is about: QUANTUM 1
SWITCH TO

Get the elapsed game time

You can multiply the current frame number minus the RollbackWindow with the the delta time of a tick.

C#

namespace Quantum {
    unsafe partial class Frame {
        public FP ElapsedTime {
            get {
                return DeltaTime * (Number - SessionConfig.RollbackWindow);
            }
        }
    }
}

The better approach would be to track the elapsed time yourself each tick. This is required when you change DeltaTime during runtime or want to suspend a running game to pick up later.

C#

// add a global variable to your qtn-file
global {
  FP ElapsedTime;
}

// create a system
public unsafe class TimeSystem : SystemBase {
    public override void Update(Frame f) {
        f.Global->ElapsedTime += f.DeltaTime;
    }
}

Caveat: Counting like this can eventually lead to inaccuracy because of the precision of the FP. Count only the elapsed ticks (as an Int32) to improve that.

Back to top