Add Timers
This commit is contained in:
		
							parent
							
								
									0fdf0accb2
								
							
						
					
					
						commit
						46cab832ed
					
				|  | @ -0,0 +1,38 @@ | |||
| const SDL = @import("sdl2"); | ||||
| 
 | ||||
| const Self = @This(); | ||||
| 
 | ||||
| started: bool, | ||||
| initial: u64, | ||||
| progress: u64, | ||||
| target: u64, | ||||
| 
 | ||||
| pub fn init(target: u64) Self { | ||||
|     return Self{ | ||||
|         .started = false, | ||||
|         .initial = 0, | ||||
|         .progress = 0, | ||||
|         .target = target, | ||||
|     }; | ||||
| } | ||||
| 
 | ||||
| pub fn start(self: *Self) void { | ||||
|     self.started = true; | ||||
|     self.progress = 0; | ||||
|     self.initial = SDL.SDL_GetTicks64(); | ||||
| } | ||||
| 
 | ||||
| pub fn finished(self: *Self) bool { | ||||
|     if (self.started) { | ||||
|         self.progress = SDL.SDL_GetTicks64() - self.initial; | ||||
|         if (self.progress >= self.target) { | ||||
|             return true; | ||||
|         } else return false; | ||||
|     } else { | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| pub fn stop(self: *Self) void { | ||||
|     self.started = false; | ||||
| } | ||||
		Loading…
	
		Reference in New Issue