moisesjpelaez - Fix pausing and resuming updates
This commit is contained in:
		| @ -1,7 +1,13 @@ | ||||
| package iron.system; | ||||
|  | ||||
| class Time { | ||||
|  | ||||
| 	public static var scale = 1.0; | ||||
| 	 | ||||
| 	static var frequency: Null<Int> = null; | ||||
| 	static function initFrequency() { | ||||
| 		frequency = kha.Display.primary != null ? kha.Display.primary.frequency : 60; | ||||
| 	} | ||||
| 	 | ||||
| 	public static var step(get, never): Float; | ||||
| 	static function get_step(): Float { | ||||
| 		if (frequency == null) initFrequency(); | ||||
| @ -14,37 +20,39 @@ class Time { | ||||
| 		return _fixedStep; | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| 	public static function initFixedStep(value: Float = 1 / 60) { | ||||
| 		_fixedStep = value; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	static var lastTime = 0.0; | ||||
| 	public static var delta = 0.0; | ||||
|  | ||||
| 	static var _delta = 0.0; | ||||
| 	public static var delta(get, never): Float; | ||||
| 	static function get_delta(): Float { | ||||
| 		return _delta; | ||||
| 	} | ||||
| 	 | ||||
| 	static var lastRenderTime = 0.0; | ||||
| 	public static var renderDelta = 0.0; | ||||
| 	static var _renderDelta = 0.0; | ||||
| 	public static var renderDelta(get, never): Float; | ||||
| 	static function get_renderDelta(): Float { | ||||
| 		return _renderDelta; | ||||
| 	} | ||||
| 		 | ||||
| 	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() { | ||||
| 		delta = (realTime() - lastTime) * scale; | ||||
| 		_delta = realTime() - lastTime; | ||||
| 		lastTime = realTime(); | ||||
| 	} | ||||
|  | ||||
| 	public static function render() { | ||||
| 		renderDelta = (realTime() - lastRenderTime) * scale; | ||||
| 		_renderDelta = realTime() - lastRenderTime; | ||||
| 		lastRenderTime = realTime(); | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user