Add in logic when botty is paused and not trigger max game length (#167)
This commit is contained in:
+6
-1
@@ -94,11 +94,16 @@ class Bot:
|
||||
|
||||
def toggle_pause(self):
|
||||
self._pausing = not self._pausing
|
||||
Logger.info(f"Pause at next state change...") if self._pausing else Logger.info(f"Resume")
|
||||
if self._pausing:
|
||||
Logger.info(f"Pause at next state change...")
|
||||
else:
|
||||
Logger.info(f"Resume")
|
||||
self._game_stats.resume_timer()
|
||||
|
||||
def trigger_or_stop(self, name: str):
|
||||
if self._pausing:
|
||||
Logger.info(f"{self._config.general['name']} is now pausing")
|
||||
self._game_stats.pause_timer()
|
||||
while self._pausing:
|
||||
time.sleep(0.2)
|
||||
if not self._stopping:
|
||||
|
||||
+20
-2
@@ -12,6 +12,8 @@ class GameStats:
|
||||
self._picked_up_items = []
|
||||
self._start_time = time.time()
|
||||
self._timer = None
|
||||
self._timepaused = None
|
||||
self._paused = False
|
||||
self._game_counter = 0
|
||||
self._chicken_counter = 0
|
||||
self._death_counter = 0
|
||||
@@ -58,10 +60,26 @@ class GameStats:
|
||||
def log_failed_run(self):
|
||||
self._runs_failed += 1
|
||||
|
||||
def get_current_game_length(self):
|
||||
def pause_timer(self):
|
||||
if self._timer is None or self._paused:
|
||||
return
|
||||
self._timepaused = time.time()
|
||||
self._paused = True
|
||||
|
||||
def resume_timer(self):
|
||||
if self._timer is None or not self._paused:
|
||||
return
|
||||
pausetime = time.time() - self._timepaused
|
||||
self._timer = self._timer + pausetime
|
||||
self._paused = False
|
||||
|
||||
def get_current_game_length(self):
|
||||
if self._timer is None:
|
||||
return 0
|
||||
return time.time() - self._timer
|
||||
if self._paused:
|
||||
return self._timepaused - self._timer
|
||||
else:
|
||||
return time.time() - self._timer
|
||||
|
||||
def _create_msg(self):
|
||||
elapsed_time = time.time() - self._start_time
|
||||
|
||||
Reference in New Issue
Block a user