forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			868 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			868 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package iron.system;
 | 
						|
 | 
						|
class Time {
 | 
						|
 | 
						|
	public static var step(get, never): Float;
 | 
						|
	static function get_step(): Float {
 | 
						|
		if (frequency == null) initFrequency();
 | 
						|
		return 1 / frequency;
 | 
						|
	}
 | 
						|
 | 
						|
	public static var scale = 1.0;
 | 
						|
	public static var delta(get, never): Float;
 | 
						|
	static function get_delta(): Float {
 | 
						|
		if (frequency == null) initFrequency();
 | 
						|
		return (1 / frequency) * scale;
 | 
						|
	}
 | 
						|
 | 
						|
	static var last = 0.0;
 | 
						|
	public static var realDelta = 0.0;
 | 
						|
	public static inline function time(): Float {
 | 
						|
		return kha.Scheduler.time();
 | 
						|
	}
 | 
						|
	public static inline function realTime(): Float {
 | 
						|
		return kha.Scheduler.realTime();
 | 
						|
	}
 | 
						|
 | 
						|
	static var frequency: Null<Int> = null;
 | 
						|
 | 
						|
	static function initFrequency() {
 | 
						|
		frequency = kha.Display.primary != null ? kha.Display.primary.frequency : 60;
 | 
						|
	}
 | 
						|
 | 
						|
	public static function update() {
 | 
						|
		realDelta = realTime() - last;
 | 
						|
		last = realTime();
 | 
						|
	}
 | 
						|
}
 |