Merge pull request 'moisesjpelaez - Fix pausing and resuming updates' (#59) from Onek8/LNXSDK:main into main
Reviewed-on: #59
This commit is contained in:
		| @ -52,9 +52,9 @@ class App { | |||||||
|  |  | ||||||
| 	static function update() { | 	static function update() { | ||||||
| 		if (Scene.active == null || !Scene.active.ready) return; | 		if (Scene.active == null || !Scene.active.ready) return; | ||||||
| 		if (pauseUpdates) return; |  | ||||||
| 		 | 		 | ||||||
| 		iron.system.Time.update(); | 		iron.system.Time.update(); | ||||||
|  | 		if (pauseUpdates) return; | ||||||
|  |  | ||||||
| 		#if lnx_debug | 		#if lnx_debug | ||||||
| 		startTime = kha.Scheduler.realTime(); | 		startTime = kha.Scheduler.realTime(); | ||||||
|  | |||||||
| @ -22,10 +22,10 @@ class ParticleSystem { | |||||||
| 	var ready: Bool; | 	var ready: Bool; | ||||||
| 	var frameRate = 24; | 	var frameRate = 24; | ||||||
| 	var lifetime = 0.0; | 	var lifetime = 0.0; | ||||||
|  | 	var looptime = 0.0; | ||||||
| 	var animtime = 0.0; | 	var animtime = 0.0; | ||||||
| 	var time = 0.0; | 	var time = 0.0; | ||||||
| 	var spawnRate = 0.0; | 	var spawnRate = 0.0; | ||||||
| 	var looptime = 0.0; |  | ||||||
| 	var seed = 0; | 	var seed = 0; | ||||||
|  |  | ||||||
| 	var r: TParticleData; | 	var r: TParticleData; | ||||||
| @ -124,6 +124,7 @@ class ParticleSystem { | |||||||
| 	 | 	 | ||||||
| 	public function update(object: MeshObject, owner: MeshObject) { | 	public function update(object: MeshObject, owner: MeshObject) { | ||||||
| 		if (!ready || object == null || speed == 0.0) return; | 		if (!ready || object == null || speed == 0.0) return; | ||||||
|  | 		if (iron.App.pauseUpdates) return; | ||||||
| 		 | 		 | ||||||
| 		var prevLap = lap; | 		var prevLap = lap; | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,6 +1,12 @@ | |||||||
| package iron.system; | package iron.system; | ||||||
|  |  | ||||||
| class Time { | 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; | 	public static var step(get, never): Float; | ||||||
| 	static function get_step(): Float { | 	static function get_step(): Float { | ||||||
| @ -14,37 +20,39 @@ class Time { | |||||||
| 		return _fixedStep; | 		return _fixedStep; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  |  | ||||||
| 	public static function initFixedStep(value: Float = 1 / 60) { | 	public static function initFixedStep(value: Float = 1 / 60) { | ||||||
| 		_fixedStep = value; | 		_fixedStep = value; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| 	static var lastTime = 0.0; | 	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; | 	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 { | 	public static inline function time(): Float { | ||||||
| 		return kha.Scheduler.time(); | 		return kha.Scheduler.time(); | ||||||
| 	} | 	} | ||||||
|  | 	 | ||||||
| 	public static inline function realTime(): Float { | 	public static inline function realTime(): Float { | ||||||
| 		return kha.Scheduler.realTime(); | 		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() { | 	public static function update() { | ||||||
| 		delta = (realTime() - lastTime) * scale; | 		_delta = realTime() - lastTime; | ||||||
| 		lastTime = realTime(); | 		lastTime = realTime(); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	public static function render() { | 	public static function render() { | ||||||
| 		renderDelta = (realTime() - lastRenderTime) * scale; | 		_renderDelta = realTime() - lastRenderTime; | ||||||
| 		lastRenderTime = realTime(); | 		lastRenderTime = realTime(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user