Here’s a little utility script for Unity. Since I made it I’ve used it a few times in my prototype, so thought I’d share.
It’s basically a way to get the time since something happened, made to be a member of a class/component. It’s so simple that I’m guessing it already exists in a form that I’ve missed.
public struct TimeSince { float time; public static implicit operator float( TimeSince ts ) { return Time.time – ts.time; } public static implicit operator TimeSince( float ts ) { return new TimeSince { time = Time.time – ts }; } }
It’ll act like a float, but it’ll change over time.
TimeSince ts; void Start() { ts = 0; } void Update() { if ( ts > 10 ) { DoSomethingAfterTenSeconds(); } }
It’s a struct so it doesn’t create garbage.
That really looks like the “millis()” function when playing with embedded devices like the Arduino (UNO)
( https://www.arduino.cc/reference/en/language/functions/time/millis/ )
it counts the amount of millisecond that have passed after the Microcontroller started up.
Awesome!