37 lines
890 B
Python
37 lines
890 B
Python
from pygame.time import get_ticks
|
|
|
|
from GameChild import GameChild
|
|
|
|
class TimeFilter(GameChild):
|
|
|
|
def __init__(self, parent):
|
|
GameChild.__init__(self, parent)
|
|
self.ticks = self.unfiltered_ticks = self.last_ticks = get_ticks()
|
|
self.open()
|
|
|
|
def close(self):
|
|
self.closed = True
|
|
|
|
def open(self):
|
|
self.closed = False
|
|
|
|
def get_ticks(self):
|
|
return self.ticks
|
|
|
|
def get_unfiltered_ticks(self):
|
|
return self.unfiltered_ticks
|
|
|
|
def get_last_ticks(self):
|
|
return self.last_ticks
|
|
|
|
def get_last_frame_duration(self):
|
|
return self.last_frame_duration
|
|
|
|
def update(self):
|
|
ticks = get_ticks()
|
|
self.last_frame_duration = duration = ticks - self.last_ticks
|
|
if not self.closed:
|
|
self.ticks += duration
|
|
self.unfiltered_ticks += duration
|
|
self.last_ticks = ticks
|