From 80d2a14d5cb8613a2ea4e8727d46b96ee3ac9331 Mon Sep 17 00:00:00 2001 From: egut125 Date: Thu, 2 Dec 2021 13:04:45 -0500 Subject: [PATCH] Add in logic when botty is paused and not trigger max game length (#167) --- src/bot.py | 7 ++++++- src/game_stats.py | 22 ++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/bot.py b/src/bot.py index f54e40a..c938ba9 100644 --- a/src/bot.py +++ b/src/bot.py @@ -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: diff --git a/src/game_stats.py b/src/game_stats.py index 3ef34ca..7b16fff 100644 --- a/src/game_stats.py +++ b/src/game_stats.py @@ -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